1. push() 将一个或多个元素添加到数组的末尾,并返回该数组的新长度。此方法修改原有数组。

var arr = ['a','b','c'];
var ele = arr.push('d');
// ele结果为: 4;
// arr数组被修改: ['a','b','c','d'];

2. pop(),从数组中删除最后一个元素,并返回该元素的值。如果数组为空,则返回undefined。此方法修改原有数组。

var arr = ['a','b','c','d'];
var ele = arr.pop();
// ele结果为: 'd';
// arr数组被修改: ['a','b','c'];

3. shift(),从数组中删除第一个元素,并返回该元素的值。此方法修改原有数组。

var arr = ['a','b','c','d'];
var ele = arr.shift();
// ele结果为: a;
// arr数组被修改: ['b''c','d'];

4. unshift(),将一个或多个元素添加到数组的开头,并返回该数组的新长度。此方法修改原有数组。

var arr = ['a','b','c'];
var ele = arr.unshift('d');
// ele结果为: 4;
// arr数组被修改: ['d','a','b','c'];

5. slice(begin?,end?),返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。

begin 可选 提取起始处的索引(从0开始),从该索引开始提取原数组元素
如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取,slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
如果省略 begin,则 slice 从索引 0 开始。
如果 begin 超出原数组的索引范围,则会返回空数组。

end 可选 提取终止处的索引(从 0 开始),在该索引处结束提取原数组元素。slice 会提取原数组中索引从 begin 到 end 的所有元素(包含 begin,但不包含 end)。
slice(1,4) 会提取原数组中从第二个元素开始一直到第四个元素的所有元素 (索引为 1, 2, 3的元素)。
如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。
如果 end 被省略,则 slice 会一直提取到原数组末尾。
如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。

var arr = ['a','b','c','d'];
var res = arr.slice(0,2);
// arr数组未被修改: ['a', 'b', 'c', 'd'];
// res数组为: ['a', 'b'];

6. splice(start,deleteCount?,item1?) ,通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容(如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组)。此方法修改原数组。

start:
指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数,这意味着-n是倒数第n个元素并且等价于array.length-n);如果负数的绝对值大于数组的长度,则表示开始位置为第0位。

deleteCount (可选):
整数,表示要移除的数组元素的个数。
如果 deleteCount 大于 start 之后的元素的总数,则从 start 后面的元素都将被删除(含第 start 位)。
如果 deleteCount 被省略了,或者它的值大于等于array.length - start(也就是说,如果它大于或者等于start之后的所有元素的数量),那么start之后数组的所有元素都会被删除。
如果 deleteCount 是 0 或者负数,则不移除元素。这种情况下,至少应添加一个新元素。

item1, item2, … (可选):
要添加进数组的元素,从start 位置开始。如果不指定,则 splice() 将只删除数组元素。

var arr = ['a', 'b', 'c', 'd'];
// 从索引 2 的位置开始删除 0 个元素,插入"e"
var insertOnce = arr.splice(2,0,'e');
insertOnce = []
arr = ['a', 'b', 'e', 'c', 'd']
// 从索引3的位置开始删除一个元素
var delOnce = arr.splice(3,1);
// delOnce数组为: ['c']
// arr数组被修改: ['a', 'b', 'e', 'd']

7. concat(),于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

var arr1 = ['a', 'b', 'c', 'd'];
var arr2 = ['e','f']
var arr3 = arr1.concat(arr2);
// arr3数组为: ['a', 'b', 'c', 'd','e','f']

8. join(),将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符(默认使用’,'分隔,如果使用"",则所有元素之间都没有任何字符)。

var arr = ['a','b','c','d'];
var str = arr.join("-")
// str结果为: "a-b-c-d"

9. sort(),对数组的元素进行排序。此方法修改原数组。

var arr = [1,5,2,4,3]
arr.sort()
// arr数组被修改: [1,2,3,4,5]

10. reverse(),将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法修改原数组。

var arr = [1,2,3,4,5];
arr.reverse();
// arr数组被修改: [5,4,3,2,1]

11. forEach(function(currentValue,index?,array?),thisValue?),对数组的每个元素执行一次给定的函数。

currentValue 必选 当前元素的值

index 可选 当前元素的索引值

array 可选 当前元素属于的数组对象

thisValue 可选 执行callback函数时值被用作 this。如果省略或传入null,undefined那么callback函数的this为全局对象

function logArrayElements(element, index, array) {console.log('a[' + index + '] = ' + element);
}// 注意索引 2 被跳过了,因为在数组的这个位置没有项
[2, 5, , 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[3] = 9

12. map(function(currentValue,index?,array?),thisValue?),创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。

// 使用 map 重新格式化数组中的对象
var kvArray = [{key: 1, value: 10},{key: 2, value: 20},{key: 3, value: 30}];var reformattedArray = kvArray.map(function(obj) {var rObj = {};rObj[obj.key] = obj.value;return rObj;
});// reformattedArray 数组为: [{1: 10}, {2: 20}, {3: 30}],// kvArray 数组未被修改:
// [{key: 1, value: 10},
//  {key: 2, value: 20},
//  {key: 3, value: 30}]

13. filter(function(currentValue,index,arr), thisValue),创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

// 筛选出字符串数组中长度大于6的字符串
const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];const result = words.filter(word => word.length > 6);console.log(result);
// log: ["exuberant", "destruction", "present"]

14. every(function(currentValue,index,arr), thisValue),测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值(若收到一个空数组,此方法在一切情况下都会返回 true)。

// 检查是否数组中的所有数字都小于40
const isBelowThreshold = (currentValue) => currentValue < 40;const array1 = [1, 30, 39, 29, 10, 13];console.log(array1.every(isBelowThreshold));
// log: true

15. some(function(currentValue,index,arr), thisValue),测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值(如果用一个空数组进行测试,在任何情况下它返回的都是false)。

// 检测数组中是否至少有一个数字大于 18:
var ages = [3, 10, 18, 20];function checkAdult(age) {return age >= 18;
}function myFunction() {document.getElementById("demo").innerHTML = ages.some(checkAdult);
}

16. find(function(currentValue,index,arr), thisValue),返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

// 获取数组中第一个大于10的值
const array1 = [5, 12, 8, 130, 44];const found = array1.find(element => element > 10);console.log(found);
// expected output: 12

17. flat(depth?),按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。此方法不会改变原数组。

depth 可选 指定要提取嵌套数组的结构深度,默认值为 1。

const arr1 = [0, 1, 2, [3, 4]];console.log(arr1.flat());
// log: [0, 1, 2, 3, 4]const arr2 = [0, 1, 2, [[[3, 4]]]];console.log(arr2.flat(2));
// log: [0, 1, 2, [3, 4]]

JS数组常用的操作方法相关推荐

  1. js 数组对象的操作方法

    js 数组对象的操作方法 在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行, ...

  2. JS数组常用和不常用的方法总结

    会改变原数组的方法 以下六种push(),pop(),shift(),unshift(),splice(),sort(),reserve(),我自己比较常用的有unshift(),splice() 添 ...

  3. JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)

    创建数组 var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2 ...

  4. js中常用的数组和字符串方法

    一:js中常用的数组方法 <script>//函数声明式中的方法const arr=[1,3,6,9,15,19,16];//函数的所有方法 map(),reduce(),filter() ...

  5. js中数组常用的方法总结,包括ES6

    原文地址:js中数组常用的方法总结,包括ES6 1.push() 后增 push()方法可以向数组后添加一个新的元素,并返回新数组的长度. 末尾添加,返回长度,改变原数组 var a = [1,2,3 ...

  6. 常用的js数组去重的方法

    常用的js数组去重的方法 1. 使用for循环去重 2.使用set对象去重 3.使用数组索引indexOf()方法搭配for循环去重 4.使用includes()方法搭配for循环去重 5.使用fif ...

  7. 总结JS中常用的数组的方法大全

    总结JS中常用的数组方法 JS中常用的数组方法总结 数组(Array)是一种复杂的数据类型,它属于Object(对象)类型,用来将一组数组合在一起,通过一个变量就可以访问一组数据.在使用数组时,经常会 ...

  8. 【数组方法大合集】原生js数组array常用工具方法大合集

    var array = {/* 数组求和*/sum: arr => eval(arr.join("+")),/* 判断一个数组(支持一个字符串)里面的是否有任何一个元素被包含 ...

  9. JS数组Arry 操作方法速记

    js数组中的find.filter.forEach.map.includes五个方法的详解和应用实例  find():返回通过测试的数组的第一个元素的值 在第一次调用 callback 函数时会确定元 ...

最新文章

  1. 背景宽高随文本变化_中科大提出ContourNet:更准确的任意形状场景文本检测新方法...
  2. python压缩教程_Python压缩模块zipfile实现原理及用法解析
  3. Java LinkedHashMap clear()方法与示例
  4. 图片验证码+输入立即校验
  5. ckeditor复制html样式丢失,Ckeditor选择html无法正常使用铬浏览器
  6. c语言 __FILE__,__DATE__,__TIME__ (宏)
  7. java 2和java有什么区别
  8. jQuery 学习笔记之十六 评分
  9. C# 中 动态获得或设置一个对象的值
  10. 第二节 数值、字符与字符串
  11. power iso linux启动盘,怎么用poweriso制作u盘启动盘win10_poweriso制作u盘启动盘win10详细步骤...
  12. ARINC429数据总线简介
  13. 2.1MAC协议概述
  14. ES查询中.keyword详解
  15. AD936x+ZYNQ搭建OpenWIFI
  16. 来客推电商|小程序+h5+app商城|含分销拼团砍价等多种引流插件|前后代码开源
  17. 英语语法三大从句刷题总结
  18. DLL输出类使用研究手记(ZZ)
  19. react native 添加自定义字体
  20. java windows wifi密码_windows10 通过命令行来查看wifi密码

热门文章

  1. 2023最新Apowersoft一款好用的在线录屏工具教程,免费无广
  2. Linux DHCP 服务
  3. 发微博说服务器数据有延迟,微信回应消息延迟bug:由于系统抖动原因致信息延迟...
  4. 有风阻的非自由落体的速度求解之路
  5. 零基础学会PS抠图拼贴
  6. python程序员怎么给女朋友准备礼物
  7. 计算2000-2019各省份产业结构合理化指数
  8. 《大黄蜂》发布“蜂狂开战”预告 大黄蜂绝境出击迎战霸天虎
  9. JavaWeb商城订单模型+分页模型(JavaWeb+jsp+Ajax)
  10. Python执行某一文件夹下的所有py文件