标签:单行 array 好的 lte 没有 for 语法糖 比较 形式
一 循环(数组 ,集合)
1 forEach-----------可以遍历得到vaue和index
const arr = [‘red‘, ‘green‘, ‘blue‘];
arr.forEach( (element, index)=> {
console.log(element); // red green blue
console.log(index); // 0 1 2
});
ps: 循环默认会全部执行完毕,若要满足条件 的情况下break,可以考虑 使用 "every"
2 for...of-----------可直接拿到某条item对象
const arr = [‘red‘, ‘green‘, ‘blue‘];
for(let v of arr) {
console.log(v); // red green blue
}
3 for...in---------只能获得对象的键名,不能直接拿到键值
const arr =[‘a‘, ‘b‘, ‘c‘, ‘d‘];
for(let a in arr) {
console.log(a); // 0 1 2 3
}
4 普通的for循环
const arr =[‘a‘, ‘b‘, ‘c‘, ‘d‘];
for(let i=0;i<arr.length;i++)
{
console.log(arr[i]); // a b c d
}
二 Map--------处理集合列表,里面的 具体item
const list= courses.map((item,index)=> {
if ((item.time <= 15 && item.time>=0)) {
item.type = 1 //产生新的字段
}
return item
})
三 Filter -----------集合条件过滤
let netList = list.filter((item)=> item.type !=3) // 可以结合map进一步处理集合数据
四 slice----------------截取集合 ,前闭后开!
let newList = list.slice(0, 4)
五 concat----------------合并数组
•concat是将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,
返回连接好的新的数组
•arrayObj.concat([item1[,item2[, . . . [,itemN]]]]);
•如果没有参数,则表示对数组进行了一次深拷贝!
六 splice-----数组截取 ,替换
oldList.splice(0, 1, add); //删除该条旧数据,并用新数据替换
oldList.splice(0, 0, add); //不删除,强插一条
oldList.splice(0, 1); //直接删除
ps :::
1 一般不用变量接收 ,直接单行使用!!!
2 0:表示位置, 1:表示个数, 后面参数表示内容(个数几个,这里就要写几个内容用,号分割)
七 Shift/unshift ----附加和移除 ,数组最前面的元素
•arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移(shift,unshift针对的都是数组最前面的元素,栈形式的数据操作)
•arrayObj.unshift([item1[item2 [. . . [itemN]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度
ps::
oldList.unshift(add);//这里不能用变量接收赋值(打出的会是数量)直接写单行即可。。
八 push / pop -----附加和移除 ,数组 最后面的 元素
•arrayObj.push([item1 [item2 [. . . [itemN]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度
•arrayObj.pop();//移除最后一个元素并返回该元素值(pop和push连在一起形成,队列形式的操作)
九 set ------数组添加唯一的值
似于数组但它的一大特性就是所有元素都是唯一的,没有重复。
我们可以利用这一唯一特性进行数组的去重工作。
1.向Set中添加元素。
let set1 = new Set()
set1.add(1)
set1.add(2)
set1.add(3)
console.log(‘added:‘, set1)
结果:
added: Set { 1, 2, 3 }
2.从Set中删除元素。
let set1 = new Set()
set1.add(1)
set1.add(2)
set1.add(3)
set1.delete(1)
console.log(‘deleted:‘, set1)
结果:
deleted: Set { 2, 3 }
3.判断某元素是否存在。
let set1 = new Set()
set1.add(1)
set1.add(2)
set1.add(3)
set1.delete(1)
console.log(‘has(1):‘, set1.has(1))
console.log(‘has(2):‘, set1.has(2))
结果:
has(1): false
has(2): true
4.清除所有元素。
let set1 = new Set()
set1.add(1)
set1.add(2)
set1.add(3)
set1.clear()
console.log(‘cleared:‘, set1)
结果:
cleared: Set {}
Set和Array互转
1.数组转Set
let set2 = new Set([4,5,6])
console.log(‘array to set 1:‘, set2)
let set3 = new Set(new Array(7, 8, 9))
console.log(‘array to set 2:‘, set3)
结果:
array to set 2: Set { 4, 5, 6 }
array to set 3: Set { 7, 8, 9 }
2.Set转数组
let set4 = new Set([4, 5, 6])
console.log(‘set to array 1:‘, [...set4])
console.log(‘set to array 2:‘, Array.from(set4))
结果:
set to array 1: [ 4, 5, 6 ]
set to array 2: [ 4, 5, 6 ]
十 解构函数 (比较方便处理模块化的逻辑)
•用法1
Const {字段1,字段2,字段3,...other} =item;
•用法1 作为方法的参数使用 ,传递对象/数组 ,可 赋默认值!
最后附es6 地址::::
常用处理数据用法es6 语法糖总结
标签:单行 array 好的 lte 没有 for 语法糖 比较 形式
原文地址:https://www.cnblogs.com/softwarelanguagebs/p/9583485.html