1、concat()方法
concat()
方法用于连接两个或多个数组,该方法不会更改现有数组,而是返回一个新数组,其中包含已连接数组的值。
// array1.concat(array2, array3, ..., arrayX)
var a = ["1111", "2222"];
var b = ["33", "44", "55"];
var c = ["7", "8"];
var ee = a.concat(b, c); // ee = ['1111','2222','33','44','55','7','8']
2、copyWithin()
方法
copyWithin()
方法将数组元素复制到数组中的另一个位置,覆盖现有值。
该方法永远不会向数组添加更多项。提示:改方法会覆盖原始数组。
// array.copyWithin(target, start, end)
// target 必需。将元素复制到的索引位置。
// start 可选。开始复制元素的索引位置(默认为 0)。
// end 可选。停止从中复制元素的索引位置(默认为 array.length)。
var fruits = ["11", "22", "33", "44"];
fruits.copyWithin(2, 0);
// ["11", "22","11", "22"]
var fruits2 = ["11", "22", "33", "44", "55", "66"];
fruits2.copyWithin(2, 0, 2);
// ["11", "22", "11", "22", "55", "66"];
3、entries()方法
entries()
方法返回带有键/值对的 Array Iterator 对象。
对于原始数组中的每一项,新的迭代对象将包含一个以索引为键,以项值为值的数组。
提示:entries()
不会更改原始数组。
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const fff = fruits.entries();
// 输出 fff
[0, "Banana"]
[1, "Orange"]
[2, "Apple"]
[3, "Mango"]
4、every() 方法
every()
方法检查数组中的所有元素是否都通过了测试(被作为函数提供)。
对数组中存在的每个元素执行一次函数:
- 如果找到函数返回 false 值的数组元素,every() 返回 false(并且不检查剩余值)
- 如果没有出现 false,every() 返回 true
注释:every()
不对没有值的数组元素执行函数,不改变原始数组。
// 如果数组中的所有元素都通过测试(作为函数提供),则 Array.every() 方法返回 true。
const ages = [32, 33, 16, 40];
function checkAge(age) {
return age > 18;
}
ages.every(checkAdult) // false
// 检查数组中的所有答案是否相同
const survey = [
{ name: "Bill", answer: "Yes"},
{ name: "Steve", answer: "Yes"},
{ name: "David", answer: "Yes"},
{ name: "Elon", answer: "No"}
];
function isSameAnswer(el,index,arr) {
// 为第一个元素返回 true
if (index === 0){
return true;
}
else {
// 比较前一个元素的值
return (el.answer === arr[index - 1].answer);
}
}
survey.every(isSameAnswer); // false