js中常用的数组方法
- 在数组的尾部增加或删除某个元素: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中常用的数组方法的更多相关文章
- JS中常用的Math方法
1.min()和max()方法 Math.min()用于确定一组数值中的最小值.Math.max()用于确定一组数值中的最大值. alert(Math.min(2,4,3,6,3,8,0,1,3)); ...
- JS中对象转数组方法总结
1.Array.from() 方法,用于数组的浅拷贝.就是将一个类数组对象或者可遍历对象转换成一个真正的数组.eg: let obj = { 0: 'nihao', 1: 'haha', 2: 'ga ...
- js中常用的Math方法总结
1.min()和max()方法 Math.min()用于确定一组数值中的最小值.Math.max()用于确定一组数值中的最大值. alert(Math.min(2,4,3,6,3,8,0,1,3)); ...
- js中常用的字符串方法
1,基础方法 charAt();返回该位置的字符,类似数组下标: substring();返回选中的字符,两个参数是下标. slice();参数是是一个正数,返回该数之后的剩余字符串:参数是负数,返回 ...
- js中常用的操作
1.js中常用的数组操作 2.js中常用的字符串操作 3.js中常用的时间日期操作 4.定时器
- js中常用数组方法concat join push pop slice splice shift
javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...
- Js中常用的字符串,数组,函数扩展
由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...
- js中常用的对象—String的属性和方法
今天说一下,js中常用的内置对象——String对象它有以下几个常用的属性:lengthprototype 有以下几个常用的方法:parseInt()转换为数字parseFloat()转换为数字,支持 ...
- js中常用的对象—Array的属性和方法
今天说一下,js中常用的内置对象——Array对象 Array常用属性: length prototype :给系统对象添加属性和方法 Array常用方法: Array.prototype.sum = ...
随机推荐
- [BZOJ5339] [TJOI2018]教科书般的亵渎
题目链接 BZOJ题面. 洛谷题面. Solution 随便推一推,可以发现瓶颈在求\(\sum_{i=1}^n i^k\),关于这个可以看看拉格朗日插值法. 复杂度\(O(Tm^2)\). #inc ...
- c++【1】
高考完了,重新做码农.要转c++. 按照粉书什么的.果然要告别p党了呢. 第一部分 语言篇 第一章:程序输入 主要是一些输入输出格式. #include<cstdio> 输出: print ...
- Android Apk的反编译与代码混淆
一.反编译 1.获取工具: 既然是反编译,肯定要用到一些相关的工具,工具可以到这里下载,里面包含三个文件夹,用于反编译,查看反编译之后的代码: 其实这两工具都是google官方出的,也可在google ...
- C++STL简介
本文仅仅是个人学习的过程中结合网上博文,对STL的整理,也仅仅是简介.仅为个人学习笔记. 一.STL简介(摘自:晨光(Morning)) STL(Standard Template Library), ...
- [NOI2017]蔬菜——时光倒流+贪心
题目链接 题解: 貌似一眼看过去是一个贪心. 其他的算法要记录的东西就太多了. 部分分其实很高.但是没有什么提示. 想一些套路:二分?不行还要贪心判断. 分治?前后取法是有影响的. 时光倒流? 也许可 ...
- 怎样才能快速成为JavaScript高手
如何快速成为JavaScript高手?之前我拿这个问题问过我的同事,也问过国内的一些JavaScript高手. 最近,我一直在拿这个问题问自己.之所以会有这个问题,我基于两个前提:第一.我自认为自己不 ...
- UVA10766:Organising the Organisation(生成树计数)
Organising the Organisation 题目链接:https://vjudge.net/problem/UVA-10766 Description: I am the chief of ...
- jdbcType和javaType
MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED TINYINT REAL VARCHAR BINARY BLOB NV ...
- 更改本地hosts文件
在 C:\Windows\System32\drivers\etc 下更改 hosts 文件 127.0.0.1 www.baidu.com 这样访问 www.baidu.com 这个地址,其实是访问 ...
- 2050年这些职业将逐渐被AI(人工智能)取代
耳熟能详的人工智能 深蓝Deep Blue是美国IBM公司生产的一台超级国际象棋电脑,重1270公斤,有32个大脑(微处理器),每秒钟可以计算2亿步."深蓝”输入了一百多年来优秀棋手的对 ...