不会改变原来数组的有:
- array.concat(array2,array3,...,arrayX)
- array.every(function(currentValue,index,arr), thisValue)
- array.some(function(currentValue,index,arr),thisValue)
- array.filter(function(currentValue,index,arr), thisValue)
- arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
- arr.reduceRight(callback(accumulator, currentValue[, index[, array]])[, initialValue])
- array.indexOf(item,start)
- array.join(separator)
- array.toString()
- array.lastIndexOf(item,start)
- string.indexOf(searchvalue,start)
- array.map(function(currentValue,index,arr), thisValue)
- array.slice(start, end)
- arr.forEach(callback(currentValue [, index [, array]])[, thisArg]);
- arr.toLocaleString([locales[,options]]);
会改变原来数组的有:
- array.pop()
- array.push(item1, item2, ..., itemX)
- array.shift()
- array.unshift(item1,item2, ..., itemX)
- array.reverse()
- array.sort(sortfunction)
- array.splice(index,howmany,item1,.....,itemX)
ECMAScript 6 数组扩展
- Array.from(arrayLike[, mapFn[, thisArg]]) 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
- Array.of(element0[, element1[, ...[, elementN]]]) 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
- arr.copyWithin(target[, start[, end]]) 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。
- arr.fill(value[, start[, end]]) 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
- arr.find(callback[, thisArg]) 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
- arr.findIndex(callback[, thisArg]) 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
- arr.includes(valueToFind[, fromIndex]) 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
- arr.keys() 方法返回一个包含数组中每个索引键的Array Iterator对象。
- arr.values() 方法返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值
- arr.entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。
- var newArray = arr.flat([depth]) 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
- arr.flatMap(function callback(currentValue[, index[, array]]) { }[, thisArg]) 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。
网友评论