数组方法
includes
:判断一个数组是否包含一个指定的值,如果是返回 true,否则falseforEach
:本身是不支持的 continue 与 break 语句的,我们可以通过 some 和 every 来实现。map
:方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。(1、不会对空数组进行检测。2、不会改变原始数组。)filter
:方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。some
:如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。every
:如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。如果所有元素都满足条件,则返回 true。reduce
:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值
let arr = [1, 2, 3]
let sum = arr.reduce(function(prev, cur, index, arr){
return prev + cur
},0)
console.log(sum)
find
(ES6):当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的第一个元素的值,之后的值不会再调用执行函数。(如果没有符合条件的元素返回 undefined)findIndex
(ES6):当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。(如果没有符合条件的元素返回 -1)for...of
(ES6):用于替代 for…in 和 forEach() ,并且支持新的迭代协议。它可用于迭代常规的数据类型,如 Array 、 String 、 Map 和 Set 等等。
let mySet = [1, 2, 3];
for (let item of mySet) {
console.log(item);
}
for (let key of mySet.keys()) {
console.log(key);
}
for (let value of mySet.values()) {
console.log(value);
}
for (let [key, value] of mySet.entries()) {
console.log(key + " = " + value);
}
其他
member = [...new Set(member)]
const deps = {
'采购部':[1,2,3],
'人事部':[5,8,12],
'行政部':[5,14,79],
'运输部':[3,64,105],
}
let member = Object.values(deps).flat(Infinity);
const name = obj?.name;
if((value??'') !== ''){
}