- js将二维数组转一维数组
this.OrderItems = [].concat(...this.newList.map(item => item.OrderItems));
- js的splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目,该函数会改变原来的数组
- 从数组中删除指定的项,思路:先用indexOf查出位置,再用splice删除(数组中的排序会重新排列,如果delete arr[i],则不重新排序)。
示例代码:
let arr[1,5,2,8,6,5]; let index = arr[i]; if(index > -1){ arr.splice(index,1);
- 利用indexOf和过滤函数filter进行数组去重,原理:indexOf判断字符是否在字符串中存在,存在则返回该元素或第一次
- 利用indexOf和filter进行去重,原理:判断一个字符是否在字符串中存在,如果存在则返回字符第一次出现的位置的索引,不存在返回-1,如果是重复元素,arr.indexOf(ele) 返回的索引必然和当前索引index不一致。 arr.indexOf(ele) === index为false
arr.filter((ele, index, arr) => { return arr.indexOf(ele) === index })
去空字符return ele && ele.trim();
- es6的去重,使用set不能重复key的特性,如下:
let arr = [1,2,3,4,5,2]; let arrFilter = [...new Set(arr)];
- es11的可选链操作符 ?.
作用:引用为空(nullish, 即 null 或者 undefined) 的情况下不会引起错误
在不知道tortoise属性是否存在的情况下,要这样写:
const tortoise = info.animal && info.animal.reptile && info.animal.reptile.tortoise;
如果很多层的话,写起来很麻烦,es11的可选链操作符可以简化上面代码:
const tortoise = info.animal?.reptile?.tortoise;
- 简单的深拷贝,前提,没有使用复杂数据,比如:Date、函数、undefined、Infinity、RegExp、Map、Set、blob、、稀疏数组、类型化数组或其他复杂类型
JSON.parse(JSON.stringify(object))
待补充。