Array.map()
解释:此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组
1 let arr = [1, 2, 3, 4, 5] 2 let newArr = arr.map(x => x*2) 3 //arr= [1, 2, 3, 4, 5] 原数组保持不变 4 //newArr = [2, 4, 6, 8, 10] 返回新数组
Array.forEach()
解释:此方法是将数组中的每个元素执行传进提供的函数,没有返回值,直接改变原数组
1 let arr = [1, 2, 3, 4, 5] 2 num.forEach(x => x*2) 3 // arr = [2, 4, 6, 8, 10] 原数组改变,注意和map区分
Array.filter()
解释:此方法是将所有元素进行判断,将满足条件的元素作为一个新的数组返回
1 let arr = [1, 2, 3, 4, 5] 2 const isBigEnough => value => value >= 2 3 let newArr = arr.filter(isBigEnough ) 4 //newNum = [2,3, 4, 5] 满足条件的元素返回为一个新的数组
Array.every()
解释:此方法是将所有元素进行判断返回一个布尔值,如果所有元素都满足判断条件,则返回true,否则为false
1 let arr = [1, 2, 3, 4, 5] 2 const isLessThan4 => value => value < 4 3 const isLessThan6 => value => value < 6 4 arr.every(isLessThan4 ) //false 5 arr.every(isLessThan6 ) //true
Array.some()
解释:此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false
1 let arr= [1, 2, 3, 4, 5] 2 const isLessThan4 => value => value < 4 3 const isLessThan6 => value => value > 6 4 arr.some(isLessThan4 ) //true 5 arr.some(isLessThan6 ) //false
Array.reduce()
解释:此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型
1 let arr = [1, 2, 3, 4, 5] 2 const add = (a, b) => a + b 3 let sum = arr.reduce(add) 4 //sum = 15 相当于累加的效果
Array.push()
解释:此方法是在数组的后面添加新加元素,此方法改变了数组的长度
1 let arr = [1,2,3,4,5] 2 arr.push(6) //[1, 2, 3, 4, 5, 6]
Array.pop()
解释:从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。
1 let arr = [1, 2, 3, 4, 5] 2 arr.pop() 3 console.log(arr) //[1, 2, 3, 4] 4 console.log(arr.length) //4
Array.shift()
解释:方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
1 let arr = [1, 2, 3, 4, 5] 2 arr.shift() 3 console.log(arr) //[2, 3, 4, 5] 4 console.log(arr.length) //4
Array.unshift()
解释:方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
1 const array1 = [1, 2, 3]; 2 console.log(array1.unshift(4, 5)); 3 // expected output: 5 4 console.log(array1); 5 // expected output: Array [4, 5, 1, 2, 3]
Array.isArray()
解释:用于确定传递的值是否是一个 Array。
1 Array.isArray([1, 2, 3]); 2 // true 3 Array.isArray({foo: 123}); 4 // false 5 Array.isArray("foobar"); 6 // false 7 Array.isArray(undefined); 8 // false
Array.concat()
解释:用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
1 const array1 = ['a', 'b', 'c']; 2 const array2 = ['d', 'e', 'f']; 3 const array3 = array1.concat(array2); 4 5 console.log(array3); 6 // expected output: Array ["a", "b", "c", "d", "e", "f"]
Array.toString()
解释:此方法将数组转化为字符串
1 const array1 = [1, 2, 'a', '1a']; 2 3 console.log(array1.toString()); 4 // expected output: "1,2,a,1a"
Array.join()
解释:将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
1 const elements = ['Fire', 'Air', 'Water']; 2 3 console.log(elements.join()); 4 // expected output: "Fire,Air,Water" 5 6 console.log(elements.join('')); 7 // expected output: "FireAirWater" 8 9 console.log(elements.join('-')); 10 // expected output: "Fire-Air-Water"
Array.splice()
解释:通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。(可以实现数组的“增”,”删“,”改“)
1 const months = ['Jan', 'March', 'April', 'June']; 2 months.splice(1, 0, 'Feb'); 3 // inserts at index 1 4 console.log(months); 5 // expected output: Array ["Jan", "Feb", "March", "April", "June"] 6 7 months.splice(4, 1, 'May'); 8 // replaces 1 element at index 4 9 console.log(months); 10 // expected output: Array ["Jan", "Feb", "March", "April", "May"]