数组常用方法

数组的方法

1.push() 末尾添加元素
// 1.push  push方法可以向数组的末尾添加一个或者多个元素 返回新数组的长度 改变原数组.
  var arr = [1, 2, 3];
  var c = arr.push(5);
  console.log(arr);//[1, 2, 3, 5]
  console.log(c);//4  数组改变之后的长度
2.pop() 删除末尾元素
 // 2.pop   pop() 方法用于删除并返回数组的最后一个元素 改变原数组。
  var arr = [1, 2, 3, 4, 5];
  var c = arr.pop();
  console.log(arr);//[1, 2, 3, 4];
  console.log(c);//5
3. unshift() 添加首位元素
 // 3.unshift  unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度  改变原数组。
  var arr = [1, 2, 3, 4, 5];
  var c = arr.unshift(6);
  console.log(arr);//[6, 1, 2, 3, 4, 5]
  console.log(c);//6  数组改变之后的长度
4. shift() 删除首位元素
// 4.shift  shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值  改变原数组。
  var arr = [1, 2, 3, 4, 5];
  var c = arr.shift();
  console.log(arr);//[2, 3, 4, 5]
  console.log(c);//1 
5.isArray() 判断是否是数组
 // 5.isArray() isArray() 这个方法用来判断一个对象是不是数组,是的话返回true,否则返回false
  var arr = [1, 2, 3, 4, 5];
  console.log(Array.isArray(arr));//true
  var c = { 'name': 'hhh' };
  console.log(Array.isArray(c));//false
6. map() 依次处理元素
//6.map() map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
  // map() 方法按照原始数组元素顺序依次处理元素。
  // 参数:item当前元素的值
  // index当前元素的索引值
  // arr当前元素属于的数组对象
  var arr = [11, 22, 33, 44, 55];
  let c = arr.map((item, index) => {
    console.log(item, index);//item  数组中的每一项   index 下标
    return item + 3
  });
  console.log(c);//[14, 25, 36, 47, 58]    数组中每一项都加三
7. filter() 过滤器
// 7.filter() filter() 方法创建一个新的数组,过滤出数组中符合条件的所有元素,把这些元素放在新数组中返回
  // filter() 不会对空数组进行检测。
  // filter() 不会改变原始数组。
  // 参数:item当前元素的值
  // index当前元素的索引值
  // arr当前元素属于的数组对象
  var arr = [11, 22, 33, 44, 55];
  let c = arr.filter((item, index) => {
    return item > 30
  });
  console.log(c);//[33, 44, 55]
  console.log(arr);//[11, 22, 33, 44, 55]
8. every() 是否所有元素都满足

  //   every() 方法使用指定函数检测数组中的所有元素:
  //   如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
  //   如果所有元素都满足条件,则返回 true。
  //   every() 不会对空数组进行检测。
  //   every() 不会改变原始数组。
  //   参数:item当前元素的值
  //   index当前元素的索引值
  //   arr当前元素属于的数组对象
  var arr = [11, 22, 33, 44, 55];
  let c = arr.every((item, index) => {
    return item > 30
  });
  console.log(c);//false  数组内的所有元素都满足大于30的时候才会返回true
  console.log(arr);//[11, 22, 33, 44, 55]
9. some() 是否有元素满足条件
//9.some()  some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
  // some() 方法会依次执行数组的每个元素:
  // 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
  // 如果没有满足条件的元素,则返回false。
  // some() 不会对空数组进行检测。
  // some() 不会改变原始数组。
  // 参数:item当前元素的值
  //      index当前元素的索引值
  //      arr当前元素属于的数组对象
  var arr = [11, 22, 33, 44, 55];
  let c = arr.some((item, index) => {
    return item > 30
  });
  console.log(c);//false  数组内的只要有一个元素满足大于30的时候就会返回true
  console.log(arr);//[11, 22, 33, 44, 55]
10. splice() 删除/插入
// 10.splice()  splice() 方法用于添加或删除数组中的元素。改变原始数组。
  // arr.splice(a) 从当前下标a开始  删除后面所有的元素  包含下标a
  // arr.splice(a,b) 从当前下标a开始  删除到下标b的元素  包含下标a和下标b
  //如果有三个以上的参数  前两个参数是删除开始和结束的下标  第三个参数及以后的参数  是要在删除位置依次插入的数据 
  // 如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。
  var arr = [11, 22, 33, 44, 55];
  let c = arr.splice(1, 3, 8, 8);
  console.log(c);//[22, 33, 44]
  console.log(arr);//[11,8,8 55]
11. slice() 截取
// 11.slice()  slice() 方法可从已有的数组中返回选定的元素。  截取数组
  // slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
  // slice() 方法不会改变原始数组。
  // arr.slice(a) 从当前下标a开始  截取后面所有的元素  包含下标a
  // arr.slice(a,b) 从当前下标a开始  删除到下标b的元素  包含下标a 不包含下标b
  // 参数:start 规定从何处开始选取。如果该参数为负数,则表示从原数组的倒数第几个元素开始提取,slice(-2) 表示提取原数组中 的倒数第二个元素到最后一个元素(包含最后一个元素)。
  // end() 规定从何处结束选取。没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取
  var arr = [11, 22, 33, 44, 55];
  let c = arr.slice(1, 4);
  console.log(c);//[22, 33, 44]
  console.log(arr);
12. indexOf() 查询下标
 //12.indexOf  indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
  // 如果没有找到匹配的字符串则返回 - 1。
  // indexOf() 方法区分大小写。
  var arr = [11, 22, 33, 33, 44, 55];
  let c = arr.indexOf(33);
  console.log(c);//2
13. includes() 是否包含某元素
// 13.includes() includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
  var arr = [11, 22, 33, 3, 44, 55];
  let c = arr.includes(33);
  console.log(c);//true
14. concat() 数组合并
// 14.concat()   concat() 方法用于连接两个或多个数组。
  // 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
  var arr1 = [22, 33, 44];
  var arr2 = [55, 66, 77];
  let c = arr1.concat(arr2);
  console.log(c);// [22, 33, 44, 55, 66, 77]

15. join() 数组元素拼接成字符串
 // 15.join() join() 方法用于把数组中的所有元素放入一个字符串。  //字符串转数组是str.split()
  // 该元素是通过指定的分隔符进行分隔的。
  var arr = [11, 22, 33, 33, 44, 55];
  let c = arr.join('**');
  console.log(c);//11**22**33**33**44**55
16. split() 字符串转数组
//16.split()  split() 方法用于把一个字符串分割成字符串数组。
  // split() 方法不改变原始字符串。
  let str = '123456';
  let arr = str.split('');
  console.log(arr);//['1', '2', '3', '4', '5', '6']
17. forEach()
 // 17.forEach()  forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
  var arr = [11, 22, 33, 33, 44, 55];
  arr.forEach((item, index) => {
    console.log(item + index);
  });//11  23  35  36  48  60
18. sort()
 // 18.sort()  sort() 方法用于对数组的元素进行排序。
  // 数组在原数组上进行排序,不生成副本。
  let arr = [8, 9, 3, 5, 4, 7]
  arr.sort();
  console.log(arr);//[3, 4, 5, 7, 8, 9]   此方法只能排10以内的
  // 
  let arr1 = [22, 5, 60, 12, 7];
  arr1.sort(function (a, b) {
    return a - b
  });
  console.log(arr1);//[5, 7, 12, 22, 60]  a-b正序   b-a倒序
19. reverse()
 // 19.reverse() reverse() 方法用于颠倒数组中元素的顺序。
  let arr = [5, 7, 12, 22, 60];
  arr.reverse();
  console.log(arr);//[60, 22, 12, 7, 5]
​
  let arr1 = [1, 3, 5, 2, 4, 6];
  arr1.reverse();
  console.log(arr1);// [6, 4, 2, 5, 3, 1]
20. find()
 // 20.find  find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
  // find() 方法为数组中的每个元素都调用一次函数执行:
  // 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
  // 如果没有符合条件的元素返回 undefined
  // find() 对于空数组,函数是不会执行的。
  // find() 并没有改变数组的原始值。
  let arr = [1, 3, 5, 2, 4, 6];
  let c= arr.find(item => {
    return item > 3
  });
  console.log(c);//5   返回符合的第一个
21. findIndex()
//  21.findIndex() findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
  //   findIndex() 方法为数组中的每个元素都调用一次函数执行:
  // 当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
  //   如果没有符合条件的元素返回 - 1
  //   findIndex() 对于空数组,函数是不会执行的。
  //   findIndex() 并没有改变数组的原始值。
  let arr = [1, 3, 5, 2, 4, 6];
  let c = arr.findIndex(item => {
    return item > 3
  });
  console.log(c);//2   返回符合的第一个元素的下标
22. fill()
// 22.fill()  fill(value,start,end) 方法用于将一个固定值替换数组的元素。
  // 参数:value 必须,填充的值
  // start 可选,开始填充的位置
  // end 可选,停止填充的位置,默认为array.length
  let arr = [1, 3, 5, 2, 4, 6];
  arr.fill(6, 2, 4);
  console.log(arr);//[1, 3, 6, 6, 4, 6]  下标在2-4之间 不包含4的地方都有6来填充
23. keys()、values()、entries()
  // 23. keys()是对键名的遍历、values()对键值的遍历、entries()是对键值对的遍历。
  var arr = [11, 22, 33, 44, 55];
  for (let item of arr.keys()) {
    console.log(item);//0 1 2 3 4 
  }
  for (let item of arr.values()) {
    console.log(item);//11  22  33  44  55 
  }
  for (let item of arr.entries()) {
    c
24.reduce
 //24.reduce()  reduce()实现迭代数组的所有项(即累加器),然后构建一个最终返回的值
  //reduce()方法从数组的第一项开始,逐个遍历到最后
  //4个参数:前一个值、当前值、项的索引和数组对象
  var arr1 = [1, 2, 3, 4, 5];
  var sum = arr1.reduce((prev, cur, index, array) => {
    return prev + cur;
  }, 10);   // 数组一开始加了一个初始值10,可以不设默认0
  console.log(sum);   // 25
25.lastIndexOf
lastIndexOf方法返回传入一个测试条件(函数)符合条件的数组最后元素的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值