一、数组

数组是最简单的内存数据结构,javascript数组可以保存不同类型的值,但是为了最佳实践,我们最好保存同一类型的值。

创建和初始化数组

// 创建数组
var demoArray = new Array();

// 创建指定长度的数组
var demoArray = new Array(3);

// 创建指定内容的数组
var demoArray = new Array(1,2,3,4);

// 创建空数组
var demoArray = [];

// 创建指定内容的数组
var demoArray = [1,2,3,4,5];

常用操作


var demoArray = [1,2,3,4,5];

// 查看数组长度
demoArray.length;

// 获取指定下标元素,index为元素下标,如果下标位置元素不存在则item为undefined
var item = demoArray[index]

添加和删除元素


var number = [1,2,3];

// 通过下标添加元素
// 为下标不存在的元素赋值,会直接将数组元素增加,并且数组长度也增加中间未赋值的元素为undefined
number[3] = 4;

// 通过push方法添加
// 会向数组尾部增加元素,push可以传入多个值,返回添加后的数组长度。
number.push(5);
number.push(6,7);

// 通过unshift方法添加
// 会向数组头部增加元素,可以传入多个值,返回添加后的数组长度

number.unshift(0);

//添加顺序为-1,-2,也就是从后向前逐个头部添加
number.unshift(-2,-1);

// 通过pop方法删除元素
// 删除数组尾部的一个元素,返回被删除元素
number.pop();

// 通过shift方法删除元素
// 删除数组第一个元素,返回被删除元素
number.shift();

// 通过splice添加/替换/删除元素

// 删除指定元素
// 第一个参数为开始位置,第二个参数为长度
// 也就是说删除从索引为2的元素开始(包括2)的三个元素
number.splice(2,3);

// 从第三个参数开始(包括第三个参数),将从第一个参数的位置开始添加添加这些元素,可用于替换指定位置的值
number.splice(2,3,1,3,4);

其它数组方法

var number = [1,2,3,4];

// 连接两个或更多数组,并返回新数组
number.concat(number);
number.concat(number,number);

// 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
number.every(function(item){
    // do something……
    return true;
});

// 对数组中的每一项运行给定函数,返回该函数会返回true的项组成的新数组

// 返回偶数构成的数组
number.filter(function(item){
    if(item%2 === 0){
        return true;
    }
});

// 对数组中的每一项运行给定的函数。无返回值
number.forEach(function(item,index){});

// 将所有的 数组元素连接成一个字符串

// 默认采用','进行连接,如果有参数则使用参数进行连接
// 数组的toString方法返回的是','连接的字符串
number.join();

// 返回第一个与给定参数相等的数组元素的索引,没有找到则返回-1
number.indexOf(2);

// 返回在数组中搜索到的与给定参数相等的元素的索引里的最大的值
number.lastIndexOf(2);

// 对数组中的每一项运行给定函数,返回每次函数调用的结果组成 的新数组
number.map(function(item,index){return item});

// 颠倒数组中元素的顺序
// 原先第一个元素现在变成最后一个,同样原先的最后一个元素变成了现在的第一个
number.reverse();

// 传入索引值,将数组里对应索引范围内的元素作为新数组返回
// 第一个参数值默认为0
// 第二个参数值默认为数组长度
number.slice()

// 对数组中的每一项运行给定函数,如果任一项返回true,则返回true
number.some(function(item){return true;});

// 按照字母顺序对数组排序,支持传入指定排序方法的函数作为参数,会改变原数组
number.sort();

// 从小到大排序
number.sort(function(a,b){
    if(a<b){
        return -1;
    }else if(a>b){
        return 1;
    }else{
        return 0;
    }
});

// 返回原数租
number.valueOf();
posted @ 2016-09-17 16:34  张凯强  阅读(256)  评论(0编辑  收藏  举报