10_JS数组

JS 数组

以索引为键的对象,性能高于对象

创建

  • new Array()
var arr = Array()
for(var i = 0;i<5;i++){
  arr[i] = i;
};
var arr = Array(1,2,3,4,5,6)
  • 数组字面量
var arr = [2,3,4,5,6,7,8];

不同:传入一个整数时,new把这个数当作数组长度,字面量当作一个元素

常用方法

  • length:返回长度,也可以修改长度
var arr = [2,3,4,5,6,7,8];
console.log(arr.length)
// 修改长度,大于本来的长度,添加空的元素
arr.length = 10;
console.log(arr);
// 修改长度,小于本来的长度,删除多的元素
arr.length = 3;
console.log(arr);
  • pop():删除并返回最后一个元素
  • push():在最后添加一个元素并返回
  • unshift():在开头添加并返回一个元素
  • shift():删除并返回第一个元素
  • slice(start,end):类似切片,异地操作
  • splice(start,num,···):原地操作,删除并向数组中添加元素,参数:开始删除的位置和删除的数量,插入的新元素
  • concat():异地操作,拼接多个数组并返回
  • join():异地,将数组转换为字符串
  • reverse():反转数组
  • sort():排序

自定义排序规则
默认按照unicode编码顺序排序,这样对数字排序会出错
返回大于0的值交换位置,否则保持

arr.sort(function(a,b){
  // 方法1
  // if(a>b){
  //   return -1;
  // }else if(a == b){
  //   return 0;
  // }else{
  //   return 1;
  // }
  //方法2
  return b-a;
});
console.log(arr);

遍历数组

  • for循环
  • 使用forEach()方法,有的浏览器不支持,需要一个函数做参数(匿名函数),数组中有几个元素,函数就会执行几次,每次循环数组中的元素都会以实参的形式传给函数(会同时传三个,第一个是值(value),第二个是索引(index),第三个是正在遍历的数组(object))
  • JS访问越界的数组不会报错,会输出underfind
发布了62 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zjbyough/article/details/94620312