-
every() 是检测数组上的每一个,是否满足条件,都满足返回 true,否则 false
let ages = [12, 34, 3, 88];
console.log(ages.every((item) => item > 8));
-
entries() 返回给定对象自身可枚举属性的键值对数组[['name',23],['key',33]]
let obj = {
name: "23",
key: 33,
};
console.log(Object.entries(obj));
-
copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。但是会改变原数组
let ages = [12, 34, { key: 2, value: "name" }, 88];
console.log(ages.copyWithin(0, 2));
console.log(ages);
ages[0].key = 3;
console.log(JSON.stringify(ages));
-
fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
- fill 默认有三个参数,要填充的数、起始索引 start(默认 0)、终止索引 end,一般是数组的长度 this.length(不包括)
- 如果索引是负数,那么索引的值是 start/end + this.length,
- 具体看 Mozilla
console.log(ages.fill("3"));
console.log(ages.fill(3, 1, 3));
console.log(ages.fill(8, -3, -1));
-
flat() 按照一个可指定的深度遍历数组,并将所有元素与遍历的子元素合并返回一个新的数组,默认 flat 的深度是 1
let ages = [12, 34, { key: 2, value: "name" }, [[[88, 99]]]];
ages.flat();
ages.flat(2);
-
flatMap()这个方法是 map 方法和 flat 方法的结合。相当于先进行map,然后再进行的flat
Mozilla
const arr2 = [
{ key: 1, value: 1 },
{ key: 2, value: 2 },
{ key: 3, value: 3 },
];
console.log(arr2.flatMap((item) => [item.key]));
console.log(arr2.map((item) => [item.key]).flat());
-
reduceRight()接受一个函数,函数中的参数有累加器(accumulator)和数组中的每一项(从右到左)
const array1 = [[0, 1], [2, 3], [4, 5]].reduceRight(
(accumulator, currentValue) => accumulator.concat(currentValue)
);
console.log(array1);
-
values() 返回对象上可枚举属性的值
var obj = { foo: 'bar', baz: 42 };
console.log(Object.values(obj));