码迷,mamicode.com
首页 > 编程语言 > 详细

【js笔记】数组那些事[0]

时间:2015-05-18 14:27:15      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

js中数组是一个特殊的对象,索引是它的属性,整数索引在内部被转化为字符串类型。

1 数组的创建

  new关键字方法:var arr=new Array()

var arr=new Array(10);
console.log(arr.length); //10

var arr=new Array(1,2,3);
console.log(arr.length); //3

  字面量方法:var arr=[]

var arr=[];
console.log(arr.length); //0

var arr=[1,2,3];

推荐使用字面量方法创建数组。

 

2 属性

  长度属性 length

3 方法

3.1 对元素的添加删除

  push():在数组末尾添加一个元素。返回值为新数组长度。

var arr=[1,2,3];
arr.push(4);
console.log(arr); // [1,2,3,4]

  pop(): 删除数组末尾元素并将其返回。

var arr=[1,2,3];
arr.pop();
console.log(arr); //[1,2]

  unshift():在数组开头添加元素。返回值为新数组长度。

var arr=[1,2,3];
arr.unshift(0);
console.log(arr); // [0,1,2,3]

  shift():删除数组的第一个元素并将其返回。

var arr=[0,1,2,3];
arr.shift();
console.log(arr); //[1,2,3]

  splice():

    splice(start,len,i1,i2...):将i1,12...插入从start开始的len个元素的位置。

var arr=[0,1,2,3];
arr.splice(1,2,0,0);
console.log(arr);//  [0, 0, 0, 3]
var arr=[0,1,2,3];
arr.splice(1,2,0);
console.log(arr); //  [0, 0, 3]

    splice(start,len):从start开始删除len个元素。

var arr=[0,1,2,3];
arr.splice(1,2);
console.log(arr);// [0, 3]

  concat():在数组后插入新元素构成新数组。

var arr=[0,1,2,3];
var newarr= arr.concat(1,2);
console.log(newarr);// [0, 1, 2, 3, 1, 2]

3.2 查找

  indexof():

    从数组开头开始查找参数元素,返回参数元素的索引,若元素不存在,返回-1。

  lastindexof():

    从数组最后一个元素开始查找。

3.3 转化为字符串

  toString()

  join()

3.4 排序

  reverse():反序

  sort(): 按字母表顺序为字符串排序。

var arr=[‘a‘,10,‘c‘,3];
console.log(arr.sort());// [10, 3, "a", "c"]

    sort()可接收一个函数作为参数执行函数中的排序方法。

 函数接收两个参数,若返回值为正数,则在数组中交换这两个数的顺序,否则不交换。下面为两种用sort实现从小到大排序的方法:

function compare(a,b){
    return a-b;
}
var arr=[1,20,3,10];
console.log(arr.sort(compare)); //  [1, 3, 10, 20]
function compare(a,b){
    if (a>b)  
        return 1;
    if (a<b)          
        return -1;
}
var arr=[1,20,3,10];
console.log(arr.sort(compare)); //[1, 3, 10, 20]

 

 

【js笔记】数组那些事[0]

标签:

原文地址:http://www.cnblogs.com/rizzle/p/4511663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!