数组Array

作者: 李诺哦 | 来源:发表于2017-09-11 14:28 被阅读16次

数组Array

基本使用

var arr = [3, 4, 5]
arr.length// 3
arr[0]// 3
arr[2] = 7
console.log(arr)// [3, 4, 7]
arr[3] = 100
console.log(arr)// [3, 4, 7, 100]
arr[100] = 10
console.log(arr)// [3, 4, 7, 100, undifined*96, 10]

清空数组,巧用length

var arr = [3, 4, 5]
arr.length=0
arr// [ ]

遍历数组

var arr = [3, 4, 5]
for(var i = 0; i < arr.length; i++){
    console.log(arr[i])
}// 3 4 5

push,队尾添加元素

var arr = [3, 4, 5]
arr.push("hello world")
console.log(arr)// [3, 4, 5, "hello world"]

var arr = [3, 4, 5]
arr.push("hello world",999)//添加多个元素
console.log(arr)// [3, 4, 5, "hello world", 999]

pop,拿出最后一个元素

var arr = [3, 4, 5]
arr.pop()// 5
arr// [3, 4]

unshift,在数组开头新增元素

var arr = [3, 4, 5]
arr.unshift("hello world",999)
console.log(arr)// ["hello world", 999, 3, 4, 5]

shift,在数组开头移除元素

var arr = [3, 4, 5]
arr.shift()
console.log(arr)// [4, 5]

splice用法

注意: splice会改变数组内的参数
splice,数组中间移除元素

var arr = [3, 4, 5, 6, 9]
arr.splice(2,1)// [5]从下标2开始删除,删除长度为1
arr// [3, 4, 6, 9]

var arr = [3, 4, -3, -2, -1, 5]
for(var i = 0; i < arr.length; i++){
    if(arr[i] < 0){
        arr.splice(i,1)
        i--
    }
}//删除数组内小于0的元素
arr// [3, 4, 5]

splice,数组中间添加元素

var arr = [3, 4, 5, 6, 9]
arr.splice(2,0,0,1,2)// 在下标2的元素前加入0,1,2
arr// [3, 4, 0, 1, 2, 5, 6, 9]

splice,数组中间替换元素

var arr = [3, 4, 5, 6, 9]
arr.splice(2,2,0,1,2)// [5, 6] 从下标2的元素起删除2个元素,并加入0,1,2
arr// [3, 4, 0, 1, 2, 9]

slice用法

slice只提取数组内参数,不做改变

var arr = [3, 4, 5, 6, 9]
arr.slice(1,3)// [4, 5] 从下标为1的元素之前开始,下标为3元素之前结束

join

join() 方法用于把数组中的所有元素放入一个字符串

var arr = [3, 4, 5, 6, 9]
arr.join// "3-4-5-6-9"

reverse

reverse() 方法用于颠倒数组中元素的顺序

var arr = [3, 4, 5, 6, 9]
arr.reverse()// [9, 6, 5, 4, 3]

常用创建数组方式

字面量

var b = [1, 2, 'hello'];

concat(array)

concat方法用于拼接数组
a.concat(b)返回一个a和b共同组成的新数组,同样不会修改任何一个原始数组,也不会递归连接数组内部数组

var a = [1,2,3,4,5];
var b = [6,7,8,9];
console.log(a.concat(b));//[1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(a); //[1, 2, 3, 4, 5]
console.log(b); //[6, 7, 8, 9]

sort排序

sort方法用于对数组进行排序
列:

var a=[5,4,3,2,1,z,a];
a.sort();
console.log(a);//[1, 2, 3, 4, 5,a,z] 从小到大,字母大于数字

默认排序方式

var a=[7,8,9,10,11];
a.sort();
console.log(a);//[10, 11, 7, 8, 9] sort是看尾号排序,7,11实际是7>1

常用排序方式

var a = [7,8,9,10,11];

a.sort(function(v1,v2){
    return v1-v2;
});
console.log(a);// [7, 8, 9, 10, 11]


var friends = [{age:3,name:"dog"},{age:2,name:"bird"},{age:500,name:"dragon"}]
friends.sort(function(v1,v2){
    return v1.age - v2.age
});// [{age: 2, name: "bird"},{age: 3, name: "dog"},{age: 500, name: "dragon"}]

相关文章

网友评论

    本文标题:数组Array

    本文链接:https://www.haomeiwen.com/subject/ejcfsxtx.html