总是忘记的数组方法:
1.找出某个元素在数组中的索引/返回数组中第一个与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1。
fruits.push('Mango');
// ["Strawberry", "Banana", "Mango"]
var pos = fruits.indexOf('Banana');
// 1
2,从一个索引位置删除多个元素
var pos = 1, n = 2;
var removedItems = vegetables.splice(pos, n);
3.将伪数组对象或可迭代对象转换为数组
console.log(Array.from('foo')); // expected output: Array ["f", "o", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // expected output: Array [2, 4, 6]
Array.from(obj, mapFn, thisArg)
就相当于 Array.from(obj).map(mapFn, thisArg),
4.判断一个对象是否是数组
5.合并两个或多个数组
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
var num1 = [1, 2, 3],
num2 = [4, 5, 6],
num3 = [7, 8, 9];
var nums = num1.concat(num2, num3);
浅拷贝,如果原来的对象修改了,新的对象的值也可能会改变。
6.连接所有数组元素组成一个字符串
const elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// expected output: "Fire,Air,Water"
console.log(elements.join(''));
// expected output: "FireAirWater"
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"
7.抽取当前数组中的一段元素组合成一个新数组。
slice()
方法返回一个新的数组对象,这一对象是一个由 begin
和 end
决定的原数组的浅拷贝(包括 begin
,不包括end
)。原始数组不会被改变。
8.返回一个由所有数组元素组合而成的字符串
const array1 = [1, 2, 'a', '1a'];
console.log(array1.toString());
// expected output: "1,2,a,1a"
迭代方法:
9.如果数组中的每个元素都满足测试函数,则返回 true
,否则返回 false。
10.如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false
11为数组中的每个元素执行一次回调函数
12.将所有在过滤函数中返回 true
的数组元素放进一个新数组中并返回。
13.返回一个由回调函数的返回值组成的新数组。
14.从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。
15.从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。