• 在数组的尾部增加或删除某个元素: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]

最新文章

  1. js中let和var定义变量的区别
  2. 表单input项使用label,同时引用Bootstrap库,导致input点击效果区增大
  3. Android一键多渠道分发打包实战和解析
  4. MVC区域使用
  5. UNC path
  6. Python 学习笔记(五)杂项
  7. getName()、getCanonicalName()、getSimpleName()异同
  8. 20150311—html中iframe(转发)
  9. [置顶] 单片机C语言易错知识点经验笔记
  10. openstack私有云布署实践【7.2 keystone + memcache (办公网环境)】
  11. Web应用中监听者的通知顺序按照DD中的定义顺序
  12. AngularJS学习篇(十一)
  13. 使用Dialog实现全局Loading加载框
  14. 心路历程:当win10遇上win7激活程序...请默哀
  15. HTTP 权威指南 详解 ( 一、概述 )
  16. 6. 缓存 - 《APS.NET本质论》
  17. Xml中SelectSingleNode方法,xpath查找某节点用法
  18. 构造+分块思想 Codeforces Round #319 (Div. 1) C
  19. nyoj520——素数序列
  20. Android常用传感器用法一览(1)

热门文章

  1. 算法训练 Bus Tour
  2. 【刷题】洛谷 P4329 [COCI2006-2007#1] Bond
  3. BZOJ3173:[TJOI2013]最长上升子序列 & HDU3564:Another LIS——题解
  4. BZOJ4071 & 洛谷3644 & UOJ112:[APIO2015]巴邻旁之桥——题解
  5. UVA.10066 The Twin Towers (DP LCS)
  6. bzoj1778: [Usaco2010 Hol]Dotp 驱逐猪猡(概率DP+高斯消元)
  7. 51nod 1196 字符串的数量(DP+数论?)
  8. 如何给apk文件签名
  9. [python]字符串的ljust方法
  10. redis 设置外网可访问