ES5,ES6数组方法汇总
ES5 数组方法::
- concat():合并多个数组为一个数组。
var array1 = [1, 2, 3];var array2 = [4, 5, 6];var newArray = array1.concat(array2);console.log(newArray); // [1, 2, 3, 4, 5, 6]
- join():将数组的所有元素连接成一个字符串。
var array = ['Hello', 'World'];var string = array.join(' ');console.log(string); // "Hello World"
- push():在数组末尾添加一个或多个元素,并返回新数组的长度。
var array = [1, 2, 3];var newLength = array.push(4, 5);console.log(array); // [1, 2, 3, 4, 5]console.log(newLength); // 5
- pop():移除并返回数组的最后一个元素。
var array = [1, 2, 3];var lastElement = array.pop();console.log(array); // [1, 2]console.log(lastElement); // 3
- shift():移除并返回数组的第一个元素。
var array = [1, 2, 3];var firstElement = array.shift();console.log(array); // [2, 3]console.log(firstElement); // 1
- unshift():在数组的开头添加一个或多个元素,并返回新数组的长度。
var array = [2, 3];var newLength = array.unshift(1);console.log(array); // [1, 2, 3]console.log(newLength); // 3
- slice():返回数组的一部分(浅拷贝)。
var array = [1, 2, 3, 4, 5];var newArray = array.slice(2, 4);console.log(newArray); // [3, 4]
- splice():从数组中添加、删除或替换元素。
var array = [1, 2, 3, 4, 5];array.splice(2, 2, 'a', 'b');console.log(array); // [1, 2, 'a', 'b', 5]
- forEach():对数组中的每个元素执行提供的函数。
var array = [1, 2, 3];array.forEach(function(element) {console.log(element);});// 输出:// 1// 2// 3
- map():对数组中的每个元素执行提供的函数,并返回一个新数组。
var array = [1, 2, 3];var newArray = array.map(function(element) {return element * 2;});console.log(newArray); // [2, 4, 6]
- filter():对数组中的每个元素执行提供的函数,并返回一个满足条件的新数组。
var array = [1, 2, 3, 4, 5];var newArray = array.filter(function(element) {return element % 2 === 0;});console.log(newArray); // [2, 4]
- reduce():对数组中的每个元素执行提供的函数,将结果汇总为单个值。
var array = [1, 2, 3, 4, 5];var sum = array.reduce(function(previousValue, currentValue) {return previousValue + currentValue;});console.log(sum); // 15
ES6新增的数组方法:
- find():返回数组中满足条件的第一个元素。
var array = [1, 2, 3, 4, 5];var foundElement = array.find(function(element) {return element > 3;});console.log(foundElement); // 4
- findIndex():返回数组中满足条件的第一个元素的索引。
var array = [1, 2, 3, 4, 5];var foundIndex = array.findIndex(function(element) {return element > 3;});console.log(foundIndex); // 3
- includes():判断数组是否包含指定元素。
var array = [1, 2, 3, 4, 5];var includes = array.includes(3);console.log(includes); // true
- flat():将嵌套的数组扁平化为一维数组。
var array = [1, [2, 3], 4, [5]];var newArray = array.flat();console.log(newArray); // [1, 2, 3, 4, 5]
- flatMap():对数组中的每个元素执行提供的函数,并将结果扁平化为一维数组。
var array = [1, 2, 3];var newArray = array.flatMap(function(element) {return [element, element * 2];});console.log(newArray); // [1, 2, 2, 4, 3, 6]
- from():将类数组对象或可迭代对象转换为数组。
var arrayLike = {0: 'a', 1: 'b', length: 2};var newArray = Array.from(arrayLike);console.log(newArray); // ['a', 'b']
- of():将一系列参数转换为数组。
var newArray = Array.of(1, 2, 3);console.log(newArray); // [1, 2, 3]
- keys():返回一个包含数组索引的迭代器对象。
var array = ['a', 'b', 'c'];var iterator = array.keys();console.log(iterator.next()); // {value: 0, done: false}console.log(iterator.next()); // {value: 1, done: false}console.log(iterator.next()); // {value: 2, done: false}console.log(iterator.next()); // {value: undefined, done: true}
- values():返回一个包含数组值的迭代器对象。
var array = ['a', 'b', 'c'];var iterator = array.values();console.log(iterator.next()); // {value: 'a', done: false}console.log(iterator.next()); // {value: 'b', done: false}console.log(iterator.next()); // {value: 'c', done: false}console.log(iterator.next()); // {value: undefined, done: true}
- entries():返回一个包含数组索引和值的迭代器对象。
var array = ['a', 'b', 'c'];var iterator = array.entries();console.log(iterator.next()); // {value: [0, 'a'], done: false}console.log(iterator.next()); // {value: [1, 'b'], done: false}console.log(iterator.next()); // {value: [2, 'c'], done: false}console.log(iterator.next()); // {value: undefined, done: true}
以上为为常用的数组方法汇总!如有遗漏,请您留言指点,谢谢!