js Array操作的最简短最容易理解方法

Array 的方法
1 Array.join(): 把所有元素用符号连结成string返回, 如果元素不是基本类型, 先调用toString.
它对应string.split();
arr = [1,2,true,3,4,5];
(arr.join('-') == '1-2-true-3-4-5';

2 Array.reverse(): 逆序排列数组
arr = [1,2,true,3,4,5];
arr.reverse();// arr == [5,4,3,true,2,1];

3 Array.sort(): 排序,可以传递一个排序函数作参数
arr.sort(function(a,b){
    return a-b;
});

4 Array.concat(): 拼接函数,
在末尾拼接上新元素,返回拼接后的array,但是不改变原array;参数可以是一个元素,多个元素,一个数组,
如果是一个元素,或多个元素,直接把这些元素加到末尾,如果是一个数组,则把数组各个元素拿出来拼接到尾部。
a = [1,2,3];
a.concat(4,5)// return [1,2,3,4,5]
a.concat([4,5])// return [1,2,3,4,5]
a.concat([4,5],[6,7]);//return [1,2,3,4,5,6,7]
a.concat([4,[5,6]])//return [1,2,3,4,[5,6]]//注意

5 Array.slice(startPos, endPos): 取子字符串函数(原array保持不变)
从startPos开始到endPos结束但不包括endPos上的元素
如果没有endPos,则取到尾
如果pos为负, 则倒着数
a = [1,2,3,4,5];
a.slice(0,3)// return [1,2,3]
a.slice(3)//return [4,5]
a.slice(1,-1)//return [2,3,4]//从第一个开始取,取到倒数第1个,但不包括倒数第1个
a.slice(1,-2);//return [2,3]//从第一个开始取,取到倒数第2个,但不包括倒数第2个

6 Array.splice(startPos, length, [added1, added2...]) 随机存取函数
可以随机删除一个(些)元素,也可以加上一些元素,
如果只有两个参数,则从array中删除从startPos开始总共length个元素
如果有两个以上参数,则从array中删除从startPos开始总共length个元素,再从刚才删除的位置添加上后面的元素
如果被添加的元素是一个数组则把这个数组作为一个元素(与concat差别)
a = [1,2,3,4,5];
a.splice(1,2)//return [2,3]; a==[1,4,5]
a.splice(1,2,6,7,8)//return [2,3]; a==[1,6,7,8,4,5]
a.splice(1,2,[6,7,8]);//return [2,3]; a==[1,[6,7,8],4,5]

7 Array.push() 和 Array.pop();
都是操作最后一个元素,push是添加,pop是删除最后一个元素并返回该元素

8 Array.unshift() 和 Array.shift()
都是操作第一个元素,unshift是添加,shift是删除第一个元素并返回该元素

合计起来
这些方法会改变原array:reverse, sort, splice, push, pop, unshift, shift
这些方法不会改变原array:join, concat, splice

(0)

相关推荐

  • JS实现的数组全排列输出算法

    本文实例讲述了JS实现的数组全排列输出算法.分享给大家供大家参考.具体分析如下: 这段js代码对数组进行全排列输出,改进了一些老的代码 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列. function permute(input) { var permArr = [], usedChars = []; function main(input){ var i, ch; for (i = 0; i < i

  • js数组的操作指南

    1.数组的创建 复制代码 代码如下: var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,

  • JS数组的常见用法实例

    本文实例讲述了JS数组的常见用法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">

  • js对象之JS入门之Array对象操作小结

    不过在学脚本prototype.js的过程中发现有些方法我们很少用到,但是有些方法好像很经典,脚本库在不断的加大,眼前一片...继续我们JS入门,今天学习一下Array数组. 首先我们来看看它的定义: 复制代码 代码如下: var arrayObj = new Array() var arrayObj = new Array([size]) var arrayObj = new Array([element0[, element1[, [, elementN]]]]) 其中:arrayObj是赋

  • JS array 数组详解

    1.数组的声明方法 (1): arrayObj = new Array(); //创建一个数组. 复制代码 代码如下: var arr1 = new Array(); (2):arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度. 复制代码 代码如下: var a = new Array(5); (3):arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋

  • JS往数组中添加项性能分析

    比较了4种可以向数组添加项的方法之间的性能: 使用索引器添加 复制代码 代码如下: console.time("index"); var a = []; for (var i = 0, l = times; i < l; i++) {     a[i] = i; } console.timeEnd("index"); 使用push方法 复制代码 代码如下: console.time("push"); var a = []; for (var

  • JS的数组迭代方法

    本文实例讲述了JS的数组迭代方法.分享给大家供大家参考.具体实现方法如下: <!doctype html> <html> <head lang="zh"> <meta charset="utf-8"> <title>js数组迭代</title> <meta name="renderer" content="webkit"> <script

  • js中数组Array的一些常用方法总结

    var list = new Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法. list[0] = 0; list[1] = 1; list[2] = 2; 或者这样声明:var list = [0,1,2] 1 shift()t:删除数组的第一个元素,返回删除的值.这里是0 2 unshift(3,4):把参数加载数组的前面,返回数组的长度.现在list:中是3,4,0,1,2 3pop():删除数组的最后一个元素,返回删除的值.这里是2. 4push(3

  • Javascript中数组方法汇总(推荐)

    Array.prototype中定义了很多操作数组的方法,下面介绍ECMAScript3中的一些方法 1.Array.join()方法 该方法将数组中的元素都转化为字符串并按照指定符号连接到一起,返回最后生成的字符串,可以包含一个参数,为连接数组元素的符号,默认为逗号. var ay = [1,2,3]; ay.join(); // =>"1,2,3" ay.join("+"); // => "1+2+3" ay.join("

  • js数组的基本操作(很全自己整理的)

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵呵.学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arr

  • JS数组(Array)处理函数整理

    1.concat() 连接两个或更多的数组 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 例如: 复制代码 代码如下: <script type="text/javascript">         var arr = [1, 2, 3];         var arr1 = [11, 22, 33];         document.write(arr.concat(4, 5, arr1));  </script> 输出结果: 1,2,3,

  • JS 操作Array数组的方法及属性实例解析

    本文总结了Array数组的3个属性,length 属性.prototype 属性.constructor 属性使用,并附注数组对象的8个分类及多个方法使用,具体如下: 对象的3个属性1.length 属性 length 属性Length属性表示数组的长度,即其中元素的个数.因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1.和其他大多数不同的是,JavaScript数组的length属性是可变的,这一点需要特别注意.当length属性被设置得更大时,整个数组的状态事实上

随机推荐