美文网首页
JavaScript数组方法总结

JavaScript数组方法总结

作者: 花泽冒菜 | 来源:发表于2019-01-03 10:13 被阅读0次

改变原数组

  1. 队列操作
    shift() 删除队头元素,返回删除的元素
    unshift(...items) 队头添加元素,返回数组长度
    pop() 删除队尾元素,返回删除的元素
    push(...items) 队尾添加元素,返回数组长度

  2. splice() 修改数组元素
    语法
    array.splice(index,howmany,item1,.....,itemX)
    参数
    index:必需。规定操作的位置。
    howmany :可选。规定应该删除多少元素。默认从index到末尾。
    item1, ..., itemX :可选。要添加到数组的新元素。
    返回值
    返回删除元素组成的数组

var array1= [1, 2, 3, 4, 5];
array1.splice(0, 2, 'new');  // [1, 2]
array1;  // ["new", 3, 4, 5]

不改变原数组

  1. concat() 合并数组
    语法
    array1.concat(array2,array3,...,arrayX)
    参数
    array2, array3, ..., arrayX:必需。数组对象或具体的值。
    返回值
    返回一个新数组。
var array1= [1, 2, 3, 4];
var array2= [5, 6];
array1.concat(array2, 7, 8);
// [1, 2, 3, 4, 5, 6, 7, 8]
  1. every() 判断一个数组的所有元素是否全部符合某条件。
    语法
    array.every(function(currentValue,index,arr), thisValue)
    参数
    currentValue:必需。当前元素的值
    index:可选。当前元素的索引值
    arr:可选。当前元素属于的数组对象
    thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined"
    返回值
    返回一个布尔值。
var array1= [1, 2, 3, 4, 5];
array1.every(function(value, index) {
  return value < 6;
})
// true
  1. filter() 筛选数组中符合条件的元素
    语法
    array.filter(function(currentValue,index,arr), thisValue)
    参数
    同上
    返回值
    返回符合条件的元素组成的新数组。
var array1= [1, 2, 3, 4, 5];
array1.filter(function(value, index) {
  return value < 3;
})
//  [1, 2]
  1. forEach() 遍历数组,执行回调函数
    语法
    array.forEach(function(currentValue, index, arr), thisValue)
    参数
    同上
    返回值
    无。

  2. join() 将数组元素连接成字符串
    语法
    array.join(separator)
    参数
    separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
    返回值
    返回一个字符串。

var array1= [1, 2, 3, 4, 5];
array1.join();
// "1,2,3,4,5"
  1. map() 将数组元素按条件改变
    语法
    array.map(function(currentValue,index,arr), thisValue)
    返回值
    返回改变后的元素组成的新数组。
var array1= [1, 2, 3, 4, 5];
array1.map(function(value, index) {
  return value + 10;
})
// [11, 12, 13, 14, 15]
  1. slice() 提取数组的一部分
    语法
    array.slice(start, end)
    参数
    start :可选。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    end:可选。规定从何处结束(不含)选取。默认到末尾。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
    返回值
    返回选中的元素组成的新数组。
var array1= [1, 2, 3, 4, 5];
arr1.slice(0, 2);  // [1, 2]
  1. reduce() 将数组元素计算为一个值
    语法
    array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
    参数
    total:必需。初始值, 或者计算结束后的返回值。
    currentValue:必需。当前元素
    currentIndex:可选。当前元素的索引
    arr:可选。当前元素所属的数组对象。
    initialValue:可选。传递给函数的初始值
    返回值
    返回计算结果

ES6新增

  1. copyWithin() 复制数组中指定位置的值到指定位置
    语法
    array.copyWithin(target, start, end)
    参数
    target:必需。复制到哪儿的索引。
    start:必需。被复制元素的起始位置。
    end:可选。被复制元素的结束位置(不含),默认到末尾。如果是负值,则转为 5 + end。
    返回值
    返回一个新数组,改变原数组。
var array1= [1, 2, 3, 4, 5];
array1.copyWithin(2, 1, 3);
// [1, 2, 2, 3, 5]

相关文章

网友评论

      本文标题:JavaScript数组方法总结

      本文链接:https://www.haomeiwen.com/subject/ymqtzftx.html