reduce

适合用于给数据分组。

items.reduce((map, item) => {
    if (map[item.key]) {
      map[key].push(item)
    } else {
      map[key] = [item]
    }
    return result
  }, {})

slice介绍

Array.prototype.slice(startIndex, endIndex = Array.length - 1)

用于将原数组按照startIndexendIndex的位置进行提取,重点是该数组不会修改原数组,建议优先考虑使用。

const arr = [1, 2, 3]
const nextArr = arr.slice(0, 1)
console.log('arr', arr)
// [1, 2, 3]
console.log('nextArr', nextArr)
// [1]

some和every差异是什么?

some
接受一个函数,然后some会使用这个函数遍历整个数组,如果该函数至少有一次返回true,则some返回true,否则返回false

every
接受一个函数,然后every会使用这个函数遍历整个数组,如果该函数每次都返回true,则every返回true,否则返回false

两者的差异
some需要至少找到至少一次满足函数的数据项,才返回true。
every需要数组的所有数据项都满足函数,才返回true。

注意事项:
some如果提前找到了满足函数的数据项,剩下的数据项还会继续遍历吗?
答案:不会


热饭班长
3.7k 声望434 粉丝

先去做,做出一坨狗屎,再改进。