2.0 es6中forEach以及数组操作

♀尐吖头ヾ 提交于 2019-11-26 19:24:14

前言:

  小白的js之路......

 

1. 遍历数组/集合 forEach

usernameArray = [];
//遍历
users.forEach((user, index) => {
    let username = user.name;
    //取出用户名添加到数组
    usernameArray[index] = username;
})

2. 数组过滤filter()和查找find()

let arr = s.filter( x => {
    return x == 'b'
})
console.log(arr) //["b", "b"]

// find只会返回匹配到的第一个值
let a = s.find( x => {
    return x == 'b'
})
console.log(a) //b

3.  将数组转为一个字符串join()

join() 方法用于把数组中的所有元素转换一个字符串, 元素是通过指定的分隔符进行分隔的。

let arr = ['刘','亦','菲']

let str = arr.join() //默认使用逗号分隔
console.log(str) //刘,亦,菲

let str1 = arr.join('');
console.log(str1) //刘亦菲

4. 采用set()去重数组元素

let nameStr = '刘亦菲,古力娜扎'
let arr = ['王菲','唐嫣','刘亦菲']
console.log(new Set(nameStr.split(',').concat(arr))); //Set(4) {"刘亦菲", "古力娜扎", "王菲", "唐嫣"}
console.log(...new Set(nameStr.split(',').concat(arr))); //刘亦菲 古力娜扎 王菲 唐嫣
console.log([...new Set(nameStr.split(',').concat(arr))]); //(4) ["刘亦菲", "古力娜扎", "王菲", "唐嫣"]

//这句代码的意思是将原始字符串nameStr和新的数组合并,然后通过set对象去重,在转换为字符串
nameStr = [...new Set(nameStr.split(',').concat(arr))].join();
console.log(nameStr) //刘亦菲,古力娜扎,王菲,唐嫣

 5. 插入元素到指定位置 push()/unshift()/splice()

let myArray=[1,2,3];

// 用push在数组后面插入元素
myArray.push(4,5);
console.log(myArray); // [1, 2, 3, 4, 5]

// 用unshift在数组前面插入元素
myArray.unshift(6,7);
console.log(myArray); // [6, 7, 1, 2, 3, 4, 5]

// 用splice在数组指定位置插入元素
myArray.splice(2,0,'肾虚少年');
console.log(myArray); // [6, 7, "肾虚少年", 1, 2, 3, 4, 5]

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!