数组Array
数组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
【数组Array】常用排序方式
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"}]
推荐阅读
- 数组常用方法一
- Java|Java基础——数组
- JS常见数组操作补充
- JS|JS 数组求和与数组求平均值
- 超帅的js数组去重
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript判断数组的方法总结与推荐
- 一些非常有用的snippets
- [leetcode数组系列]1两数之和
- 零长度数组与柔性数组