数组方法

  • push 在末端添加一个元素。

  • unshift 在首端添加一个元素或多个元素。

  • shift 删除数组首端的一个元素。

  • pop 从末端删除一个元素。

  • splice 删除数组某一位置的元素。

  • concat 连接多个数组。

  • join 将数组转换为字符串。

补充: split 将字符串分割为数组。

学习方法

  1. 学习使用语法
  2. 学习方法有什么作用和功能
  3. 记忆使用时需要传递什么参数
  4. 关注方法返回什么(返回值)(也就是方法运行完,额外提供给我们的数据)

作用于数组末端的方法:

1. pop

pop 从数组的末尾移出并返回移出数组的一个元素,若是空数组则返回undefined。改变原数组

语法: array.pop();

没有参数 , array.pop()和array.pop(3)的结果相同 , 都是删除最末尾的那个元素。

var fruits = ["Apple", "Orange", "Pear"];

alert( fruits.pop() ); // 移除 "Pear" 然后 alert 显示出来

alert( fruits ); // Apple, Orange

2. push

push 将一个或多个元素添加到数组的末尾,并返回数组的新长度。改变原数组

语法: array.push(elem1,elem2,elem3,…)

var fruits = ["Apple", "Orange"];

fruits.push("Pear","strawberry");

alert( fruits ); // Apple, Orange, Pear , strawberry

调用 fruits.push(...)fruits[fruits.length] = ... 是一样的。

作用于数组首端的方法:

3. shift

shift 从数组的开头移出并返回移出数组的一个元素,若是空数组则返回undefined。改变原数组

语法: array.shift();

没有参数 , array.shift()和array.shift(3)的结果相同 , 都是删除最开始的那个元素。

var fruits = ["Apple", "Orange", "Pear"];

alert( fruits.shift() ); // 移除 Apple 然后 alert 显示出来

alert( fruits ); // Orange, Pear

4. unshift

unshift 将一个或多个元素添加到数组的开头,并返回数组的新长度。改变原数组

语法: array.unshift(elem1,elem2,elem3,…)

var fruits = ["Orange", "Pear"];

fruits.unshift('Apple','strawberry');

alert( fruits ); // Apple, strawberry, Orange, Pear

5. splice

splice方法通过删除或替换现有元素或者添加新的元素来修改数组

  • 返回值:以数组形式返回被修改的内容。

  • 改变原数组。

语法:

array.splice(index,howmany,item1,…..,itemX)

参数 描述
index 必需。规定从何处添加/删除元素。 该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
howmany 可选。规定应该删除多少元素。必须是数字,但可以是 “0”。 如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
item1, …, itemX 可选。要添加到数组的新元素

对数组进行增删改

增加:arr.splice(index, 0, item)

  • 从索引index开始, howmany:0

  • 把item或者更多的内容插入到索引index的前面

  • 返回值:返回空数组

修改: arr.splice(index, x, item)

  • 从索引index开始,删除x个元素, item替换删除的部分

  • 把原有内容删除掉, 然后用新内容替换掉

  • 返回值:修改掉原有内容的数组

删除:arr.splice(index,x)

  • 从索引index开始,删除x个元素

  • (如果第二个参数省略, 则从index删除到末尾)

  • 返回值:删除掉原有内容的数组

  //增加
  var array1 = [33,44,55,66,77,88];
  array1.splice(2,0,'a','b')
  console.log(array1);// [33, 44, "a", "b", 55, 66, 77, 88]

  //修改
  var array2 = [33,44,55,66,77,88];
  array2.splice(1,2,'x','y')
  console.log(array2);// [33, "x", "y", 66, 77, 88]

  //删除
   var array3 = [33,44,55,66,77,88];
   //console.log(array3.splice(3,2))//[66, 77]
   console.log(array3.splice(3));//[66, 77, 88]

6. concat

concat 连接两个或多个数组,返回连接后的新数组。不会改变原数组

语法: array1.concat(array2,array3,array4);

var nameArr1 = ["张三", "李四"];
var nameArr2 = ["王五", "赵六"];
var nameArr = nameArr1.concat(nameArr2);
console.log(nameArr); // ['张三','李四','王五','赵六']
console.log(nameArr1); // ['张三','李四']
console.log(nameArr2); // ['王五','赵六']
// 并未改变原数组,所以我要用一个新数组nameArr去接收合并后的数组,以便后续使用。

7. join

join 将数组转换为字符串,返回转换后的字符串。不会改变原来的数组

补充:join()方法可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符;如果不指定连接符,则默认使用 , 作为连接符,此时和 toString()的效果是一致的

语法:array.join(任何字符);

参数可不填,不填默认为,

var arr = [1, 2, 3];
var arrStr = arr.join("-");
console.log(arrStr); // 1-2-3
console.log(arr); // [1,2,3]
// 并未改变原数组

8. 字符串方法 split

split 通过指定分隔符,将字符串分割为字符串数组,返回割后的数组。不会改变原来的数组

语法: str.split(分隔符,指定分割后的数组长度);

参数可不填,不填默认为,

代码举例:

/**/
var email = "abc@163.com;cc@126.com;frg@qq.com";
var emailArr = email.split(";");
console.log(emailArr); // ["abc@163.com", "cc@126.com", "frg@qq.com"]
var emailArr2 = email.split(";", 2);
var emailArr = email.split(";"); // ["abc@163.com", "cc@126.com"]

9. 总结

改变原数组: push pop unshift shift splice

不改变原数组: concat join

需要注意的是, split是字符串的方法, 数组调用会报错。

文档更新时间: 2023-07-17 14:52   作者:孙老师