数组方法总结一(持续更新中)

221 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情

整理数组中常用的方法......

数组的遍历

 var arr = [10, 20, 30, 40, 50];

for循环

        for (var i=0; i<arr.length; i++) {
            console.log(arr[i]); // 10 20 30 40 50
            console.log(i); // 0 1 2 3 4
        }

for in 循环

        for (var i in arr) {
            console.log(arr[i]); // 10 20 30 40 50
            console.log(i); // 0 1 2 3 4
        }

for of 循环

        for (var ele of arr) {
            console.log(ele); // 10 20 30 40 50
        }

forEach

       arr.forEach( (ele,index) => {
            console.log(ele); // 10 20 30 40 50
            console.log(index); // 0 1 2 3 4
        });

push

  1. 作用:在数组的尾部追加数组元素
  2. 格式:arr.push(value,value1, ...);
  3. 返回值:数组新的长度
var arr = [10, 20, 30, 40, 50];
var res = arr.push(100);
console.log(res) // 6
console.log(arr) // [10, 20, 30, 40, 50, 100]

pop

  1. 作用:删除数组后面的一个元素
  2. 格式:arr.pop();
  3. 返回值:被删除的元素
var arr = [10, 20, 30, 40, 50];
var res = arr.pop();
console.log(res); // 50
console.log(arr); // [10, 20, 30, 40]

unshift

  1. 作用:在数组的头部添加元素
  2. 格式:arr.unshift(value, value1, ...);
  3. 返回值:新的数组长度
var arr = [10, 20, 30, 40, 50];
var res = arr.unshift(100);
console.log(res); // 6
console.log(arr); // [100, 10, 20, 30, 40, 50]

shift

  1. 作用:删除数组的头部元素
  2. 格式:arr.shift();
  3. 返回值:被删除元素
var arr = [10, 20, 30, 40, 50];
var res = arr.shift();
console.log(res); // 10
console.log(arr); // [20, 30, 40, 50]

join

  1. 作用:将数组转换为字符串
  2. 格式:arr.join('分隔符');
  3. 分隔符规则:
    • 1)可以省略,转换时数组元素用逗号进行分隔
    • 2)可以指定分隔符,例如arr.join('-');
    • 3)如果不要分隔符,那么可以在小括号中设置空字符串作为参数
var arr = ['a', 'b', 'c', 'd', 'e'];
var str = arr.join();//默认用逗号作为分隔符
var str1 = arr.join('*');
var str2 = arr.join(''); //将数组元素拼接在一起,没有分隔符
console.log(str); // a,b,c,d,e
console.log(str1); // a*b*c*d*e
console.log(str2); // abcde

indexOf

  1. 作用:在数组中查找指定的值,如果有则返回其下标,如果没有则返回-1
  2. 注意:indexOf在操作时 是从前向后查找,如果找到则停止查找
  3. 格式:数组名称.indexOf(要查找的值,查找的起始位置);如果省略起始位置则表示从头开始查找
var arr = [10, 20, 30, 40, 50, 60, 70, 80, 40, 100];
var res = arr.indexOf(40);
console.log(res); // 3

lastIndexOf

  1. 作用:在数组中查找指定的值,如果有则返回其下标,如果没有则返回-1
  2. 注意:lastIndexOf在操作时 是从后向前查找,如果找到则停止查找
  3. 格式:数组名称.lastIndexOf(要查找的值,查找的起始位置);
var arr = [10, 20, 30, 40, 50, 60, 70, 80, 40, 100];
var res = arr.lastIndexOf(40);
console.log(res); // 8

slice

1.作用:从数组中截取出指定元素,并用这些元素组成新的数组
2. 格式:数组名称.slice(begin, end);
3. 参数说明:

  • begin:表示截取的起始位置的下标
  • end:表示截取的终止位置的下标
  1. 注意
  • 1)截取时不包含end对应的值
  • 2)可以省略end,表示从begin一直截取到最后
  • 3)可以将begin和end都省略,表示对原有数组的复制
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var res = arr.slice(2, 7); // 截取时不包含end对应的值
var res1 = arr.slice(2); // 省略end,表示从begin一直截取到最后  
var res2 = arr.slice(); // begin和end都省略

console.log(res); // [3, 4, 5, 6, 7]
console.log(res1);// [3, 4, 5, 6, 7, 8, 9, 10]
console.log(res2);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

splice

  1. 作用:可以对数组做增、删、改操作
  2. 格式:
  • 增的格式:数组名称.splice(下标,0,value,value1, ...);
  • 删的格式:数组名称.splice(下标,个数); 返回值为被删除元素形成的新的数组
  • 改的格式:数组名称.splice(下标,个数,新的值);
// 在下标为2的位置新增一个15
var arr = [10, 20, 30, 40, 50];
var res = arr.splice(2, 0, 15, 100, 200);
console.log(arr) // [10, 20, 15, 100, 200, 30, 40, 50]
console.log(res) // []

// 删除数组中下标为2的元素
var arr = [10, 20, 30, 40, 50];
var res = arr.splice(2, 2);
console.log(arr) // [10, 20, 50]
console.log(res) // [30, 40]

// 将数组中下标为3的元素改为300
var arr = [10, 20, 30, 40, 50];
var res = arr.splice(3,1, 300);
console.log(arr) // [10, 20, 30, 300, 50]
console.log(res) // [40]