一些好用的数组技巧~最近项目用到顺便做个记录

160 阅读1分钟

最近看了一些公众号发现了一些好用又可以提高效率的方法,虽然都是老方法了,就当做个记录吧

1. 快速去重

let num= ["one", "two","three", "four", "one"];

let newNum= Array.from(new Set(num));//["one", "two","three", "four"];

2. 找到想要的其中一个数据

let num = [{name:"one",value:"1"},{name:"two",value:"2"},{name:"three",value:"3"}]

let newNum = num.find(item =>{return item.name == "one"})//{name:"one",value:"1"}

3. 删除其中一项指定名字的数据

let num = [{name:"one",value:"1"},{name:"two",value:"2"},{name:"three",value:"3"}]

num.splice(num.findIndex(item => item.name === "one"), 1)

//[{name:"two",value:"2"},{name:"three",value:"3"}]//顺便说下快速清空数组可以使用
num.length = 0; //[]

4. 去除一些空值假值

let array= [0, "one",NaN, 1, true, undefined, false, ""];

let trueArray = array.filter(Boolean);

// returns ["one", 1, true]

5. 求和

使用reduce可以轻松求和

let nums = [1,2, 3, 4];

let sum = nums.reduce((x, y) => x + y);//10

6. 合并数组

之前一直是用concat()方法
看文章发现一个更好用的,好用到哭

let num1 = [1,2, 3];

let num2 = ["one","two", "three"];
let num3 = ["a","b", "c"];

var concatNum = [...num1,...num2,...num3];
//[1,2, 3,"one","two","three","a","b", "c"];