JS中数组有哪些方法

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JS中数组有哪些方法脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

1、push();

  作用:向数组末尾添加一项或多项元素

  参数:要添加的元素

  返回值:新数组的长度

  是否改变原数组:改变

    VAR arr = ['a','b','c'];

    var res = arr.push('d' ,'e');

    console.LOG(arr); // ['a','b','c','d','e'];

    console.log(res); // 5

2、pop();

  作用:删除数组的最后一项

  参数:无

  返回值:被删除的项

  是否改变原数组:改变

  var arr = [1,2,3];

  var res =  arr.pop();

  console.log(arr); // [1,2]

  console.log(res); // [3]

3、shift()

  作用:删除数组的首项

  参数:无

  返回值:被删除的项

  是否改变原数组:改变

  var arr = [1,2,3];

  var res = arr.shift();

  console.log(arr); // [2,3]

  console.log(res); // [1]

4、unshift()

  作用:向数组的开头添加一项或多项

  参数:要添加的项,多项用','逗号分割

  返回值:新数组的长度

  是否改变原数组:改变

  var arr = [1,2,3];

  var res = arr.unshift(1,2);

  console.log(arr); // [1,2,1,2,3]

  console.log(res); // 5

5、splice()

  作用:增删改

  参数:arr.splice(index,howmany,ITem1, ..., itemX);

    index:起始位置,如果是负数就从末尾开始 如:-1就是末尾第一个

    howmany:删除几项,如果是起始位置是负数,就从后往前删

    item1,...,itemX:要添加的数组元素,从index位置向后添加

  返回值:删除项

  是否改变原数组:是

  增加:

  arr.splice(n,m,1,1,1,1)

  从第 n 个开始 删除 m 个  删除完成后,从 n 的位置之前开始添加数组元素

  var arr = [1,2,3,4];

  var res = arr.splice(1,2,1,1,1);

  console.log(arr); // [1,1,1,1,4];

  console.log(res); // [2,3]

  删除功能:

  arr.splice(n,m);

  从第 n 项开始删除,删除 m 个

  var arr = [1,2,3];

  var res = arr.splice(1,2);

  console.log(arr); // [1]

  console.log(res); // [2,3]

  修改功能:

  arr.splice(n,m,x);

  从数组的索引 n 开始,删除 m 项, 把 x 添加到索引 n 前面

  var arr = [1,2,3,4,5];

  var res = arr.splice(1,1,23);

  console.log(arr); // [1,23,3,4,5]

  console.log(res); // [2]

  模拟push()尾部添加  和 push 二者返回值不同

  arr.splice(ary.length,0,新的数组元素) // splice是在索引之前添加,所以第一个参数是数组的长度

  模拟 pop() 尾部删除

  arr.splice(arr.length-1,1)

  模拟 shift() 首项删除

  arr.splice(0,1);

  模拟 unshift() 首项添加,和unshift二者返回值不同

  arr.splice(0,0,新的项)

  此外

  arr.splice(n) 表示从索引 n 开始删除到末尾

  arr.splice(0) 删除整个数组,有克隆数组的效果,利用返回值

6、slice

  作用:截取数组(复制数组)

  参数:arr.slice(start,end)

  返回值:返回一个新数组

  是否改变原数组:不改变

  var arr = [1,2,3,4];

  var res = arr.slice(1,3); // 从下标1的元素复制到下标3的元素[2,3]

  var res1 = arr.slice(-3,-1); // 从倒数第3位复制到倒数第1位 [2,3,4]  slice(n) // 从索引 n 开始复制到最后一项

  slice()、slice(0) // 复制整个数组

7、join

  作用:用指定的分隔符将数组每一项拼接为字符串

  参数:指定的分隔符,如果省略该参数,则使用逗号作为分隔符

  返回值:拼接好的字符串

  是否改变原数组:不改变

  var arr = [1,2,3,4,5];

  var res = arr.join('-');

  console.log(arr);// [1,2,3,4,5]

  console.log(res); // 1-2-3-4-5

8、concat

  作用:用于连接两个或多个数组

  参数:参数可以是具体的值,也可以数对象,可以是任意多个

  返回值:返回连接后的新数组

  是否改变原数组:不改变

  var arr = [1,2,3,4,5,6];

  var res = arr.concat(6,7)

  var res1 = arr.concat(6,[7,8]);

  var res2 = arr.concat(6,[7,[8,9]]);

  var res3 = arr.concat();

  console.log(arr); // [1,2,3,4,5,6]

  console.log(res); // [1,2,3,4,5,6,6,7]

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

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

  console.log(res3); // [1,2,3,4,5,6];

  concat()如果操作的参数是数组,那么添加的是数组中的元素,而不是数组。如果是多维数组,concat只能拆                  开一层数组。如果concat()没有参数或者参数是空数组,也可以达到克隆数组的目的

9、sort(0

  作用:对数组的元素进行排序

  参数:可选(函数)规定排序规则,默认排序顺序为按字母升序

  返回值:排好序的数组

  是否改变原数组:改变

  var ary = [1,5,7,9,12,24,56,87,92];

  var ary2 = [1,5,7,9,12,24,56,87,92];

  var ary3 = [1,5,7,9,12,24,56,87,92];

  var res = arr.sort(); // 如果不传参就是按照数组每个元素的 第一位进行排序

  var res2 = arr2.sort(function(a,b){return a-b}) // 按照从小到大排序

  var res3 = arr3.sort(function(a,b){return b-a}) // 按照从大到小排序

  // sort  的参数函数总的形参 a,b 就是数组排序的时候相邻比较的两项

  consloe.log(res); // [1, 12, 24, 5, 56, 7, 87, 9, 92]

  console.log(res2); // [1, 5, 7, 9, 12, 24, 56, 87, 92]

  console.log(res3); // [92, 87, 56, 24, 12, 9, 7, 5, 1]

10、reverse()

  作用:倒序数组

  参数:无

  返回值:倒序后的数组

  是否改变原数组:改变

  var arr = [1,2,3];

  var res = arr.sort();

  console.log(arr); //[3,2,1]

  console.log(res); //[3,2,1]

11、indexOf()

  作用:查找指定元素的位置

  参数:array.indexOf(item,start)item:要查找的元素 start:数组中开始检索的位置

  返回值:返回第一次查找到的索引: 未找到返回 -1

  是否改变原数组: 不改变

  var arr = [1,2,3,4,1];

  var res = arr.indexOf(4,2);

  console.log(arr); // [1,2,3,4,1]

  console.log(res); // 3

12、lastIndexOf()

  作用:从指定查询的位置从后往前检索

  参数:array.laseindexOf(item,start) item:查找的元素; Start:开始检索的位置

  返回值:返回要查找的元素最后一次出现的索引值 ,未找到返回-1

  是否改变原数组:不改变

  var ary = ['a','b','c','d','c'];

  var res = ary.lastIndexOf('c',3); // 从第三位开始从后往前检索 返回值 2

  var res2 = ary.lastIndexOf('c',1); // -1

  console.log(res); // 2 返回值是

  console.log(res2); // -1

13、foreach()

  作用:循环遍历数组每一项

  参数:array.forEach((数组每一项,数组每一项的下标,原数组)=>{})

  返回值:无返回值

  var arr = ['a','b','c'];

  arr.forEach((v,i,arr)=>{

  console.log(v,i,arr);

  // a 0 ['a','b','c']

  // b 1 ['a','b','c']

  // c 2 ['a','b','c']

  })

14、map()

  作用:返回一个新数组,新数组是执行函数处理后的数组

  参数:array.map((数组每一项,数组每一项的下标,原数组)=>{})

  是否改变原数组:不改变

  返回值:新数组

  var arr = ['a','b','c'];

  var res = arr.map((v,i,arr)=>{

  return v+1;

  })

  console.log(res);// ['a1','b1','c1']

  

15、filter()

  作用:创建一个新数组,新数组中的元素是通过检查指定数组中的符合条件的元素组成

  参数:array.filter((数组每一项,数组每一项的下标,原数组)=>{})

  是否改变原数组:不改变

  返回值:新的数组

  var arr = [12,12,12,33,33,33];

  var res = arr.filter((v,i)=>{return v===33})

  console.log(res); // [33,33,33]

16、every()

  作用:检测数组所有元素是否满足条件,只要有一项不满足就返回 false 并且不会往下执行

  参数:array.evety((v,i)=>{})

  是否改变原数组:不改变

  返回值:布尔值

  var arr = [1,2,3,4,5,6];

  var res = arr.every((v,i)=>{return v>3})

  var res1 = arr.every((v,i)=>{retuen v>0});

  console.log(res); // false

  console.log(res); // true 

17、some();

  作用:检测数组内元素是否满足条件,会依次执行每一个数组 如果有 一个满足则返回 true 都不满足返回 false

  参数:array.some((v,i)=>{});

  返回值:布尔值

  是否改变原数组:不改变

  var ary = [1,2,3,4,5,6]

  var res = ary.some(function(item){

      return item<3;

  })

  console.log(res)  // true;

 

 

 

  

脚本宝典总结

以上是脚本宝典为你收集整理的JS中数组有哪些方法全部内容,希望文章能够帮你解决JS中数组有哪些方法所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。