前端技术Web前端之路让前端飞

js-数组的基本操作

2017-10-11  本文已影响105人  家里有棵核桃树

本文主要介绍js数组元素的一些基本操作,常用的一些方法

关键词:创建数组、新增数组元素、删除数组元素、将数组变成字符串、数组对象常用属性、合并数组、拷贝数组、数组排序等

1. 创建数组

1.1 使用Array构造函数

var arr1 = new Array(); //创建一个空数组
var arr2 = new Array(20); // 创建一个包含20项的数组
var arr3 = new Array("lily", "lucy", "Tom"); // 创建一个包含3个字符串的数组

1.2 使用数组字面量表示

var arr4 = []; //创建一个空数组
var arr5 = [20]; // 创建一个包含1项的数组
var arr6 = ["lily", "lucy", "Tom"]; // 创建一个包含3个字符串的数组

2. 数组常用方法

2.1 数组元素的添加

var arr7 = [1, 2];
arr7.push(8);
arr7.push(9, 10, 11);
arr7.unshift("00", "01");
arr7.splice(2, 0, arr6);
console.log(arr7); // ["00", "01", Array(3), 1, 2, 8, 9, 10, 11] 数组长度为9

2.2 数组元素的删除

var arr8 = [1, 2, 5, 8, 10, "123lili", "9087tt", 20];
arr8.pop();
arr8.shift();
arr8.splice(2, 1);
console.log(arr8); // [2, 5, 10, "123lili", "9087tt"]

2.3 数组的截取和合并

var arr9 = ["12yu", "i", "am", "ada", "~"];
console.log(arr9.slice(1, 4)); //  ["i", "am", "ada"]
console.log(arr9.slice(1)); // ["i", "am", "ada", "~"]

console.log(arr9.concat("啦啦啦", 666)); // ["12yu", "i", "am", "ada", "~", "啦啦啦", 666]
console.log(arr9.concat("啦啦啦", ["啦啦啦", 999])); // ["12yu", "i", "am", "ada", "~", "啦啦啦", "啦啦啦", 999]

2.4 数组的拷贝

var arr10 = arr9.slice(0); // ["12yu", "i", "am", "ada", "~"]
arr9[0] = "hello";
console.log(arr10); // ["12yu", "i", "am", "ada", "~"]
console.log(arr9.concat()); // ["hello", "i", "am", "ada", "~"]
console.log(arr9.splice(0, arr9.length)); // ["hello", "i", "am", "ada", "~"]

2.5 数组元素的排序

var arr11 = ["you", "and", "me"];
console.log(arr11.reverse()); // ["me", "and", "you"] 
console.log(arr11.sort()); // ["and", "me", "you"]
arr11.sort(function (a, b) {

    return a - b;
});

2.6 数组转为字符串

var arr12 = [1, 2, 3, 4];
// join(separator)返回字符串,这个字符串将数组的每一个元素值用separator连接在一起
console.log(arr12.join("--")); // 1--2--3--4
console.log(arr12.toLocaleString()); // 1,2,3,4
console.log(arr12.toString()); // 1,2,3,4
// 注:数组使用arr12.valueOf()方法依旧是数组

2.7 数组中是否存在指定元素

console.log(arr12.indexOf(2)); // 1
console.log(arr12.lastIndexOf(2)); // 1
console.log(arr12.indexOf(2, 2)); // -1
console.log(arr12.lastIndexOf(2, 2)); // 1

3. 数组的基本属性

3.1 length

length属性表示数组的长度,即其中元素的个数。数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1。javascript数组的length属性是可变的。当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。

var arr13 = [1, 90, 22, "111"];
console.log(arr13.length); // 4;
arr13.length = 6;
console.log(arr13[5]); // [1, 90, 22, "111", undefined, undefined]
arr13.length = 3;
console.log(arr13); // [1, 90, 22]

3.1 Array.prototype

声明原型属性后所有数组对象共有

Array.prototype.max = function () {

    this.sort(function (a, b) {

        return a - b;
    });
    return this[this.length - 1];
};
var arr14 = [5, 78, 48, 19, 8];
console.log(arr14.max()); // 78

4. 相关文章

上一篇 下一篇

猜你喜欢

热点阅读