JS数组方法

(一)创建数组

1:通过构造函数的方式来创建。 var a = new Array();

(1).直接赋值

var a=new Array(数据1,数据2,…);

--------------------------------------------------------------

var a=new Array(数值)

如果括号中只有一个元素,并且这个元素是数值类型的,那么他就是指定数组的长度。 并且它的值都是undefined。

数组的属性:length 属性 (获取整个数组的长度)。

(2).声明以后再赋值

var a=new Array(); a[0]=1; a[1]=2; a[2]=3;

2:隐形声明的方式。 var a=[];

1.直接赋值:

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

2.声明以后再赋值:

var a=[]; a[0]=1; a[1]=2; a[2]=3;

 

JS数组可以存储任何类型的值。

(3)访问数组

通过数组的(中括号)下标访问。

数组下标从0开始,他的最大值,是length-1。有8个元素的话,则长度是8,如果要访问最后一个元素,则访问7。因为下标从0开始,01234567。

(4)遍历数组

1:for循环。

2:while循环。

3:for in循环。

for in的作用:

1:用于数组的遍历。

 

2:用于对象属性的遍历。

(5)数组方法

1. arr.push(数组元素......) 参数之间要用逗号隔开。

向数组的末尾添加新的元素,返回值是新数组的长度。

可以一次添加多个元素。

2.arr.unshift(数组元素.....)

向数组的开头加入新的元素,返回值是新数组的长度。

可以一次添加多个元素。

3. arr.pop()

删除数组的最后一个元素,返回删除的元素。

4. arr.shift()

删除数组的第一个元素,返回删除的元素。

5.万能的添加删除函数

arr.splice(index,数量,添加的元素.....) 前俩个元素必须有

(1)index 从何处开始添加或删除,必须是数值类型(数组的下标)

(2)数量 规定了删除的个数,如果是0,则不删除。

(3)需要添加的元素,可以当作替换的元素。

如果有删除的元素,返回删除的元素。

6.str.split(分隔符)

将字符串分割为数组。

7.arr.join([分隔符])

把数组元素按照指定分隔符组合成一个字符串,如果没有指定分隔符,默认是用“,”分割,返回结果就是组合成的字符串。

8.arr.slice()

数组的分割。

从截取指定的开始位置,到结束位置(不包括)的元素。如果不指定结束位置,则从指定的开始位置,取到结尾(数组的下标)。

支持负数(-1开头) 返回的是新数组。 不改动原来的数组。

9. arr.concat()

连接两个或更多的数组,并返回新数组,对原数组没有任何影响。

10.arr.reverse()

数组翻转方法。改变原数组

11.arr.sort()

对数组进行排序,如果没有参数,则按照字母的编码进行排序,如果要按照其他的顺序来排序,要提供一个函数。

回调函数会提供两个参数(a,b)。

a<b a在b前。

a=b 顺序按照原样输出。

a>b b在a前。

默认排序例子:

['d', 'c', 'b', 'a'].sort()

// ['a', 'b', 'c', 'd']

[4, 3, 2, 1].sort()

// [1, 2, 3, 4]

[11, 101].sort()

// [101, 11]

[10111, 1101, 111].sort()

// [10111, 1101, 111]

如果想让sort方法按照自定义方式排序,可以传入一个函数作为参数,表示按照自定义方法进行排序。该函数本身接受两个参数,表示进行比较的两个元素。如果返回值大于0,表示第一个元素排在第二个元素后面;其他情况下,都是第一个元素排在第二个元素前面。

[10111, 1101, 111].sort(function (a, b) {

return a - b;

}) // [111, 1101, 10111]

[ { name: "张三", age: 30 }, { name: "李四", age: 24 }, { name: "王五", age: 28 } ].sort(function (o1, o2) {

return o1.age - o2.age;

 

}) // [ { name: "李四", age: 24 }, { name: "王五", age: 28 }, { name: "张三", age: 30 } ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值