数组常用api

字面量

  1. let arr = [1, 2, "a", "b", true, false, { x: 1, y: 2 }, [1, 2], function () {}];
  2. console.log(arr);

…rest

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

Array.of

  1. let a = [1, 2, 3, 4, 5, 6, true, function () {}];
  2. arr = Array.of(...a);
  3. console.log(arr);

Array.from

  1. const likeArr = {
  2. 0: "家",
  3. 1: "公司",
  4. 2: "学校",
  5. length: 3,
  6. };
  7. console.log(likeArr);
  8. console.log(Array.from(likeArr));

尾部增删,push从左到右进入,pop从右到左删除

  1. let arr = [];
  2. console.log(arr.push(1));
  3. console.log(arr.push(2, 3));
  4. console.log(arr);
  5. console.log(arr.pop());
  6. console.log(arr.pop());
  7. console.log(arr.pop());

头部增删,unshift从右到左增加,shift从左到右删除

  1. console.log(arr.unshift(1));
  2. console.log(arr.unshift(3, 2));
  3. console.log(arr);
  4. console.log(arr.shift());
  5. console.log(arr.shift());
  6. console.log(arr.shift());
  7. console.log(arr);

delete:删除指定的

  1. arr = [1, 2, 3, 4, 5, 6, 7];
  2. delete arr[4];
  3. console.log(arr);
  4. arr.length = 4;
  5. console.log(arr);

forEach((item,index,arr)=>{…})每个元素逐个调用,没有返回值

  1. let arr = [4, 5, 6, 7];
  2. arr.forEach((item, index, arr) => console.log(item, index, arr));

map;参数与功能与forEach一样,只是有返回值

  1. res = arr.map(item => item * 2);
  2. console.log(res);

every,some 断言函数,返回true,false
every:数组成员全部满足条件,返回true,否则false

  1. console.log(arr.every(item => item >= 0));
  2. console.log(arr.every(item => item >= 5));

some:数组成员有一个满足条件,返回true,否则false

  1. console.log(arr.some(item => item >= 6));
  2. console.log(arr.some(item => item >= 8));

filter:返回数组满足条件的元素,组成新数组,find返回新数组的第一个元素,findIndex返回新数组的第一个索引

  1. console.log(arr.filter(item => item >= 5));
  2. console.log(arr.find(item => item >= 6));
  3. console.log(arr.findIndex(item => item >= 6));

reduce 归并

  1. res = arr.reduce(function (acc, cur, index, arr) {
  2. return acc + cur;
  3. }, 5);
  4. console.log(res);

sort 排序

  1. let arr = [20, 30, 14, 53];
  2. console.log(arr.sort());
  3. console.log(arr.sort((a, b) => a - b));//升序
  4. console.log(arr.sort((a, b) => b - a));//降序

join:array->String

  1. arr = ["a", "b", "c"];
  2. console.log(arr.join());
  3. console.log(arr.join("-"));

splice:删除,新增,替换

  1. console.log(arr);
  2. console.log(arr.slice(5, 2));
  3. console.log(arr);
  4. console.log(arr.splice(1, 2, "a", "b"));
  5. console.log(arr);
  6. console.log(arr.slice(2, 0, "red", "green"));
  7. console.log(arr);
  8. let data = ["red", "green", "blue"];
  9. console.log(arr.splice(2, 0, ...data));
  10. console.log(arr);

更多相关文章

  1. Android(安卓)WIFI模块解析
  2. Android(安卓)触摸事件处理机制
  3. Android设备Root检测方法
  4. 在android用Google Geocoding API服务解析地址(关键词:android/GP
  5. Sql Server 存储过程调用存储过程接收输出参数返回值
  6. SQL Server存储过程同时返回分页结果集和总数
  7. Android触摸事件机制
  8. mybatis调用sqlserver存储过程返回结果集的方法
  9. SQL Server索引超出了数组界限的解决方案

随机推荐

  1. vtp实验
  2. 共享文件夹
  3. 华为ensp链路聚合综合实验
  4. Kafka 原理以及分区分配策略剖析
  5. 单臂路由
  6. 说话时如何把“NO”变成“yes”?
  7. Azure DevTest Lab体验(二)用户测试
  8. 链路追踪 SkyWalking 源码分析 —— Coll
  9. 链路追踪 SkyWalking 源码分析 —— Coll
  10. 分布式作业系统 Elastic-Job-Cloud 源码