JS数组方法

JS数组方法


一、toString()

toString() 把数组转换为数组值(逗号分隔)的字符串。

var array1 = ['你好','我是','小健'];
console.log(array1.toString());//你好,我是,小健

二、join()

join() 方法也可将所有数组元素结合为一个字符串。它的行为类似 toString(),但是您还可以规定分隔符:

var array1 = ['你好','我是','小健'];
// 2.1 join()不填参数 则默认为以逗号分割
console.log(array1.join());//你好,我是,小健
// 2.2 join()填参数 则以参数分割
console.log(array1.join("*"));//你好*我是*小健
// 2.3 join("")填空值 则以无分割
console.log(array1.join(""));//你好我是小健

三、pop 和 push

在处理数组时,删除元素和添加新元素是很简单的。
pop()push() 指的是:
从数组弹出 pop()(删除)项目,或向数组推入 push()(新增)项目。

var array1 = ['你好','我是','小健'];
console.log(array1.pop());// 你好   删除数组的最后一个元素,返回被删除的数组元素
console.log(array1);//["你好", "我是"]

console.log(array1.push("刘德华"));//新增数组的最后一个元素,返回新增后数组的长度
console.log(array1);//["你好", "我是", "刘德华"]

四、位移元素 shift() 和 unshift()

位移元素 shift() 方法会删除首个数组元素,并把所有其他元素“位移”到更低的索引。 位移与弹出等同,但处理首个元素而不是最后一个。

var array1 = ['你好','我是','刘德华'];
 console.log(array1.shift());// 你好  shift() 方法返回被“位移出”的字符串:
console.log(array1);//["我是", "刘德华"]

unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素:

var array1 = ['我是','刘德华'];
console.log(array1.unshift("哈喽"));//3  unshift() 方法返回新数组的长度。
console.log(array1);//["哈喽", "我是", "刘德华"]

五、length 属性提供了向数组追加新元素的简易方法:

 var array1 = ['哈喽','我是','刘德华'];
array1[array1.length] = '的偶像'
console.log(array1);// ["哈喽", "我是", "刘德华", "的偶像"]

六、截取数组 splice() 和 slice()

splice()

movie.splice(0,2,‘除暴’,‘扫黑’)
第一个参数(0)定义新元素应该被添加(接入)的位置。
第二个参数(2)定义应该删除n个元素。
其余参数为新增的元素
返回值:被截取元素的数组
会改变原数组

var movie = ["战狼2","2012","肖申克的救赎","后天"]
console.log(movie.splice(0,2,'除暴','扫黑'))// ["战狼2","2012"] 返回被截取的数组
/*
第一个参数(0)定义新元素应该被添加(接入)的位置。
第二个参数(2)定义应该删除n个元素。
其余参数为新增的元素
返回值:被截取的数组
会改变原数组
*/ 
console.log(movie);//["除暴", "扫黑", "肖申克的救赎", "后天"] 改变了原数组

slice()

slice() 方法用于截取数组片段,并返回被截取元素的一个新数组
slice() 方法创建新数组。它不会从源数组中删除任何元素。
slice() 可接受两个参数,比如 (1, 3)。
该方法会参数当作数组下标选取元素,直到结束参数(不包括)为止。
注意:截取到结束下标的前一个元素,不包含结束下标元素

var fruits2 = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits2.slice(1,3); 
console.log(citrus);//["Orange", "Lemon"] 返回被截取的新数组
console.log(fruits2 );//["Banana", "Orange", "Lemon", "Apple", "Mango"]; 原数组不变

splice() 和 slice()的异同点

* 相同点:
*   返回值都是截取到的数组
* 
* 不同点 :
*   splice() 会改变原数组
*   splice(1,2,"Lemon", "Kiwi") 
*   splice() 第一个参数为数组截取的起始位置 第二给参数为应该截取多少个元素,其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。
* 
*   slice()会返回一个新数组,而不会改变原数组
*   slice(1,2)
*   slice() 第一个参数为数组截取的起始位置 第二为截取的终点位置(不包含终点位置)

七、concat()

concat() 方法不会更改现有数组。它总是返回一个新数组。
concat() 方法可以使用任意数量的数组参数

concat() 方法通过合并(连接)现有数组来创建一个新数组:

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias", "Linus"];
var myChildren = myGirls.concat(myBoys);   // 连接 myGirls 和 myBoys
//myGirls连接myBoys ,所以myBoys拼接在数组尾部
console.log(myChildren);//["Cecilie", "Lone", "Emil", "Tobias", "Linus"]
//concat() 方法不会更改现有数组。它总是返回一个新数组。
//concat() 方法可以使用任意数量的数组参数:
var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias", "Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);   // 将arr1、arr2 与 arr3 连接在一起
console.log(myChildren);//   ["Cecilie", "Lone", "Emil", "Tobias", "Linus", "Robin", "Morgan"]
上一篇:冒泡、选择、折半查找


下一篇:python初学100例-案例5 数字排序