• 在数组的尾部增加或删除某个元素:push() 和 pop()

  push() : 在数组的尾部追加一个或多个元素,并返回数组的长度

  pop():在数组的尾部删除一个元素,并返回被删除项

 var arr = ["aaa","bbb","ccc"];
var pushRes = arr.push("ddd","eee");
console.log(pushRes); // 5 (返回新数组的长度)
console.log(arr); // ["aaa", "bbb", "ccc", "ddd", "eee"]
var popRes= arr.pop();
console.log(popRes); // eee
console.log(arr); // ["aaa", "bbb", "ccc", "ddd"]
  • 在数组的头部增加或删除某个元素:unshift() 和 shift() 

  unshift() : 在数组的头部插入一个或多个元素,并返回数组的长度

  shift():在数组的头部删除一个元素,并返回被删除项

 var arr = ["aaa","bbb","ccc"];
var unshiftRes = arr.unshift("ddd","eee");
console.log(unshiftRes); // 5 (返回新数组的长度)
console.log(arr); // [ "ddd", "eee", "aaa", "bbb", "ccc"]
var shiftRes= arr.shift();
console.log(shiftRes); // ddd
console.log(arr); // ["eee", "aaa", "bbb", "ccc"]
  • 截取数组slice()

  slice(截取的起始位置,截取的结束位置)  slice可以有两个参数,第一个参数为必填项,第二个参数为选填项,当只有一个参数的时候,默认截取到数组的末尾;此外第二个参数可以有正数和负数两种情况,若第二个参数为负数截取的结束位置从末尾倒数过来

 var arr = [1,2,3,4,5];
var arr1 = arr. slice(1);
var arr2 = arr. slice(1,3);
var arr3 = arr. slice(1,-1);
var arr4 = arr. slice(-3,-1);
console.log(arr1); //[2,3,4,5]
console.log(arr2); //[2,3]
console.log(arr3); //[2,3,4]
console.log(arr4); //[3,4]
  • 数组万能法splice() 

  splice():很强大的数组方法,它有很多种用法,可以实现删除、插入和替换。

  删除:可以删除任意数量的项,只需指定 2 个参数:要删除的第一项的位置和要删除的项数。例如, splice(0,2)会删除数组中的前两项。

  插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。例如,splice(2,0,4,6)会从当前数组的位置 2 开始插入4和6。
  替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。插入的项数不必与删除的项数相等。例如,splice (2,1,4,6)会删除当前数组位置 2 的项,然后再从位置 2 开始插入4和6。

  splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。

 var arr = [1,3,5,7,9,11];
var arrRemoved = arr.splice(0,2);
console.log(arr); //[5,7, 9, 11]
console.log(arrRemoved); //[1,3]
var arrRemoved2= arr.splice(2,0,4,6);
console.log(arr); //[5, 7, 4, 6, 9, 11]
console.log(arrRemoved2); //[]
var arrRemoved3 = arr.splice(1,1,2,4);
console.log(arr); //[5, 2, 4, 4, 6, 9, 11]
console.log(arrRemoved3); //[7]
  • 数组遍历forEach()
 var arr = [1,2,3,4,5]
arr.forEach(function(item,index){
console.log(index,item)
})
//输出结果为:
//0 1
//1 2
//2 3
//3 4
//4 5
  • 映射方法:map()
 var arr = [1,2,3,4,5];
var arr2 = arr.map(function(item){
return item+10;
});
console.log(arr2); //[11,12,13,14,15]

js中常用的数组方法的更多相关文章

  1. JS中常用的Math方法

    1.min()和max()方法 Math.min()用于确定一组数值中的最小值.Math.max()用于确定一组数值中的最大值. alert(Math.min(2,4,3,6,3,8,0,1,3)); ...

  2. JS中对象转数组方法总结

    1.Array.from() 方法,用于数组的浅拷贝.就是将一个类数组对象或者可遍历对象转换成一个真正的数组.eg: let obj = { 0: 'nihao', 1: 'haha', 2: 'ga ...

  3. js中常用的Math方法总结

    1.min()和max()方法 Math.min()用于确定一组数值中的最小值.Math.max()用于确定一组数值中的最大值. alert(Math.min(2,4,3,6,3,8,0,1,3)); ...

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

    1,基础方法 charAt();返回该位置的字符,类似数组下标: substring();返回选中的字符,两个参数是下标. slice();参数是是一个正数,返回该数之后的剩余字符串:参数是负数,返回 ...

  5. js中常用的操作

    1.js中常用的数组操作 2.js中常用的字符串操作 3.js中常用的时间日期操作 4.定时器

  6. js中常用数组方法concat join push pop slice splice shift

    javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...

  7. Js中常用的字符串,数组,函数扩展

    由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...

  8. js中常用的对象—String的属性和方法

    今天说一下,js中常用的内置对象——String对象它有以下几个常用的属性:lengthprototype 有以下几个常用的方法:parseInt()转换为数字parseFloat()转换为数字,支持 ...

  9. js中常用的对象—Array的属性和方法

    今天说一下,js中常用的内置对象——Array对象 Array常用属性: length prototype :给系统对象添加属性和方法 Array常用方法: Array.prototype.sum = ...

随机推荐

  1. Python十六进制转码问题

    使用Python的decode函数转码十六进制的字符串时,会出现UnicodeDecodeError: 'utf8' codec can't decode byte 0xba in position ...

  2. POJ 3261 Milk Patterns (后缀数组,求可重叠的k次最长重复子串)

    Milk Patterns Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 16742   Accepted: 7390 Ca ...

  3. POJ1204:Word Puzzles——题解

    http://poj.org/problem?id=1204 题目大意:给一个字母表,求一些字符串的开端第一次出现的位置和字符串的方向(字符串可以按照八个方向放在字母表中可匹配的位置) ——————— ...

  4. Codeforces Round #466 (Div. 2) E. Cashback

    Codeforces Round #466 (Div. 2) E. Cashback(dp + 贪心) 题意: 给一个长度为\(n\)的序列\(a_i\),给出一个整数\(c\) 定义序列中一段长度为 ...

  5. cf 460 E. Congruence Equation 数学题

    cf 460 E. Congruence Equation 数学题 题意: 给出一个x 计算<=x的满足下列的条件正整数n的个数 \(p是素数,2 ≤ p ≤ 10^{6} + 3, 1 ≤ a ...

  6. BZOJ3437 小P的牧场 【斜率优化dp】

    3437: 小P的牧场 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1502  Solved: 836 [Submit][Status][Disc ...

  7. mysql主从同步加读写分离

    首先主从同步,一旦建立,指定了用户,就不能更改了,否则会有错误.1063 Error 'Duplicate entry '%-test-' for key 'PRIMARY'' on query. D ...

  8. 背景建模技术(四):视频分析(VideoAnalysis)模块

    视频分析模块主要包含两个函数,一个是VideoAnalysis::setup(....),其主要功能就是确定测试的视频是视频文件或摄像头输入亦或是采用命令行参数:第二个函数是VideoAnalysis ...

  9. mysql中的case when 与if else

    大神说:在sql中,能用if else  就不用case  when 下面来看看,具体为什么,没有搞清楚,如果有大神知道的提供下资料: Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制 ...

  10. 题解【luogu1073 最优贸易】

    Solution 考虑原图是 DAG 时怎么做. 拓扑排序 + dp ,令 dp[i] 表示 \(1\) 到 \(i\) 的路径上最小的卖出价格.转移方程就是对每一个可以到达这个点的 dp 取个 mi ...