Array 对象常用的方法总结
shift:删除原数组的第一项,返回删除元素的值;如果数组为空则返回undefined
var arr = [1, 2, 3, 4, 5];
var out = arr.shift();
console.log(arr); //[2,3,4,5]
console.log(out); //1
var arr = [];
var out = arr.shift();
console.log(arr); //[]
console.log(out); //undefined
unshift:将参数添加到原数组开头,返回数组的长度(ie6下返回undefined)
var arr = [1, 2];
var out = arr.unshift(-1, 0);
console.log(arr); //[-1,0,1,2]
console.log(out); //4
pop:删除原数组的最后一项,返回数组删除的值;如果数组为空则返回undefined
var arr = [1, 2, 3, 4, 5];
var out = arr.pop();
console.log(arr); //[1,2,3,4]
console.log(out); //5
var arr = [];
var out = arr.pop();
console.log(arr); //[]
console.log(out); //undefined
push:将参数添加到原数组的末尾,返回数组的长度
var arr = [1, 2, 3];
var out = arr.push(4, 5, 6);
console.log(arr); //[1,2,3,4,5,6]
console.log(out); //6
concat:返回一个将参数添加到原数组中构成的新数组
var arr = [1, 2, 3];
var out = arr.concat(4, 5);
console.log(arr); //[1,2,3]
console.log(out); //[1,2,3,4,5]
splice(start,deleteCount,val1,val2,...):从start位置开始删除原数组deleteCount项,并从该位置起插入val1,val2,...,返回删除的项组成的新数组
var arr = [1, 2, 3, 4, 5];
var out = arr.splice(2, 2, 7, 8, 9, 10);
console.log(arr); //[1,2,7,8,9,10,5]
console.log(out); //[3,4]
在清空数组时仅需传递start,如果不删除所有元素,再传递deleteCount
var arr = [1, 2, 3, 4, 5];
var out = arr.splice(2);
console.log(arr); //[1,2]
console.log(out); //[3,4,5]
//同shift
var arr = [1, 2, 3, 4, 5];
var out = arr.splice(0, 1);
console.log(arr); //[2,3,4,5]
console.log(out); //[1]
//同unshift
var arr = [1, 2, 3, 4, 5];
var out = arr.splice(0, 0, 22, -1, 0);
console.log(arr); //[22,-1,0,1,2,3,4,5]
console.log(out); //[]
//同pop
var arr = [1, 2, 3, 4, 5];
var out = arr.splice(arr.length - 1, 1);
console.log(arr); //[1,2,3,4]
console.log(out); //[5]
//同push
var arr = [1, 2, 3, 4, 5];
var out = arr.splice(arr.length, 0, 6, 7, 8);
console.log(arr); //[1,2,3,4,5,6,7,8]
console.log(out); //[]
reverse:将原数组倒序;
var arr = ['a', 1, {}, [2, 3]];
console.log(arr); //['a', 1, {}, [2, 3]]
var out = arr.reverse();
console.log(arr); //[[2,3],{},1,'a']
console.log(out); //[[2,3],{},1,'a']
var arr = [0, 1, 5, 10, 15];
arr.reverse();
console.log(arr); //[15,10,5,1,0]
var arr = [1, 0, 5, 15, 10];
arr.reverse();
console.log(arr); //[10,15,5,0,1]
sort(orderfunction):sort()为升序排列,但是先调用每个数组项的toString()方法,然后比较字符串来排序,是按ASCII进行比较的;
//所以跟reverse不同原理不同。sort()不带参数的时候是从字面上对数组排序
var arr = [0, 1, 5, 10, 15];
arr.sort();
console.log(arr); //0,1,10,15,5 ,注意这里是字符串按ASCII进行比较的
//调用这样的函数就按数值方式排列了
function sortNumber(a, b) {
return a - b
}
arr.sort(sortNumber);
console.log(arr); //0,1,5,10,15
slice(start,end):返回从原数组中指定start到end(不包含该元素)之间的项组成的新数组,如只有一个参数,则从start到数组末尾
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var out = arr.slice(2,3);
console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8]
console.log(out); //[3]
join(separator):将数组的元素组成一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var arr = [1, 2, 3, 4, 5, 6];
var out = arr.join();
console.log(arr); //[1, 2, 3, 4, 5, 6]
console.log(out); //1,2,3,4,5,6
out = arr.join("");
console.log(out); //123456
out = arr.join("&");
console.log(out); //1&2&3&4&5&6
自己总结了常用的一些array 中常用的方法
Array 对象常用的方法总结的更多相关文章
- JavaScript操作Array对象常用的方法
转换方法 因为JavaScript内部机制(继承),所有的对象都具有toLocalString() .toString().valueOf()方法,Array也不例外so:var colors = ...
- javascript中字符串对象常用的方法和属性
前言 字符串是一种非常重要的数据类型,在Java等面向对象编程语言中,它代表对象类型,而在javascript中它却是一种基本数据类型,在开发的领域中,我们经常会碰到,无论是前端还是后台.比如后台验证 ...
- javascript中的array对象属性及方法
Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...
- 总结JS中string、math、array的常用的方法
JS为每种数据类型都内置很多方法,真的不好记忆,而且有些还容易记混,现整理如下,以便以后查看: 一.String ①charAt()方法用于返回指定索引处的字符.返回的字符是长度为 1 的字符串. 语 ...
- JS中String对象常用的方法
1. stringObject.charAt(index) 参数:index 必需,即字符在字符串中的下标. 返回值: 返回在指定位置的字符.返回的字符是长度为 1的字符串.(length属性 ...
- JavaScript Array对象的splice方法 数组的添加和删除
Splice方法 :拼接 splice() 方法用于添加或删除数组中的元素. var index = Array.indexOf(value); //可以匹配value在Array中的索引,匹 ...
- Mongodb For C# "Query" 对象常用的方法
Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.In("name", & ...
- httpRequest对象常用的方法
IT程序员开发必备-各类资源下载清单,史上最全IT资源,个人收藏总结! 1. 获得客户机信息 getRequestURL方法返回客户端发出请求时的完整URL. getRequestURI方 ...
- 测试Array对象的sort方法的作用。将1985,1970,1999,1998,2000,1963这些年份按升序输出。
<script type="text/javascript">var years = new Array(1985,1970,1999,1998,2000,1963); ...
随机推荐
- 在学校机房联想硬盘保护下安装Linux,并配置锐捷客户端
最近几天一直在机房里刷题,空调开着非常舒服.但是机房电脑里全是windows系统,不太好用,挺膈应人的. 一直打算换个系统,刚才终于搞定网络问题了,以后用电脑就可以爽到了. 联想硬盘保护系统下u盘安装 ...
- windows下安装redis以及测试 Window 下安装
下载地址:https://github.com/dmajkic/redis/downloads. 下载到的Redis支持32bit和64bit.根据自己实际情况选择,将64bit的内容cp到自定义盘符 ...
- 最强最全干货分享:Android开发书籍、教程、工具等
最全干货分享,本文收集整理了Android开发所需的书籍.教程.工具.资讯和周刊各种资源,它们能让你在Android开发之旅的各个阶段都受益. 入门<Learning Android(中文版)& ...
- Cube Simulation zoj3429 模拟
Description Here's a cube whose size of its 3 dimensions are all infinite. Meanwhile, there're 6 pro ...
- MyEclipse完好提示配置
MyEclipse完好提示配置 一般的,MyEclipse中的提示以"."后进行提示,不是非常完好.如今.改动提示配置,让提示更完好. 详细操作例如以下: 1.打开MyEclips ...
- 使用ShareSDK实现第三方授权登录、分享以及获取用户资料效果,项目中包含:源码+效果图+项目结构图
[Android应用开发详解]第01期:第三方授权认证(一)实现第三方授权登录.分享以及获取用户资料 由于公司项目的需要,要实现在项目中使用第三方授权登录以及分享文字和图片等这样的效果,几经波折, ...
- SecondaryNameNode合并元信息过程
- [转]A reference to a higher version or incompatible assembly cannot be added to the project
If you face this error message while adding a reference to your project in Visual Studio try the fol ...
- CUDA笔记(七)
今天集中时间找程序的问题.于是发现: 首先,程序里的kernel想要调试,必须用nsight. 于是一堆找.http://www.nvidia.com/object/nsight.html http: ...
- Perceptron Learning Algorithm(python实现)
一.概论 对于给定的n维(两种类型)数据(训练集),找出一个n-1维的面,能够"尽可能"地按照数据类型分开.通过这个面,我们可以通过这个面对测试数据进行预测. 例如对于二维数据,要 ...