数组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

常用排序方式

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"}]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 创建数组 arr.length--- title: js正则表达式categories: javascriptda...
    angelwgh阅读 5,214评论 0 2
  • (一) 数组的定义 数组(array)是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示...
    woow_wu7阅读 47,022评论 0 6
  • 创建数组及修改 类型检测 转换方法 Array栈操作 Array队列操作 Array的反转和排序 数组的连接与截取...
    togeek阅读 2,929评论 0 2
  • JavaScript 的 Array 可以包含任意数据类型,并通过索引来访问每个元素。 1.length 可以取得...
    SingleDiego阅读 2,726评论 0 1
  • “恭喜九首蛇祖,成就浑源。” “我等修行亿万载,都追求着跳出樊笼达到更高生命层次,想,见识见识新的天地。甚至都来到...
    im喵小姐阅读 3,365评论 0 0