JavaScript学习笔记(数组)

数组是很常用的引用类型,在开发时对数组各种操作应该熟练掌握,梳理一下关于数组的基本知识,有不对的地方欢迎指正

数组是数据的有序列表,ECMAScript 数组的每一项可以保存任何类型的数据

创建数组方法

  • 使用Array构造函数
var arr1 = new Array(3);//创建一个3项的数组
var arr2 = new Array("3");//创建一个一项为3的数组
var arr3 = new Array(1,2,3);//创建一个三项包含1,2,3的数组
  • 使用字面量方式
var arr = [1,2,3]

在使用数组字面量表示法时,也不会调用 Array 构造函数

数组访问和设置

数组通过下标访问和设置数组

var numArr = [1,2,3];
alert(numArr[0]);//访问数组
numArr[2]=5;//下标小于数组长度,修改数组项
numArr[3]= 6;//下标大于数组长度,增加数组长度

length属性

数组length属性不只是可读的,能够对数组从尾部进行删除或者添加操作

var color = ['red','blue'];
color.length = 1;//删除项只保留第一项
color.length = 2;//又增加了一项,值为undefined

数组检测

  • instanceof
arr instanceof Array;//true/false
  • isArray
Array.isArray(arr);//true/false

数组方法

转换方法

  • toString();返回逗号分隔的字符串
  • toLocalString();返回逗号分隔的字符串
  • valueOf();返回数组
  • join();返回指定分隔符分割的字符串

栈,队列方法

  • push();从尾部添加指定项,返回length
  • pop();从尾部删除一项,返回删除项
  • shift();从头部移除一项,返回移除项
  • unshift() ;从头部添加一项,返回length

重排序方法

  • reverse(); 反转数组
  • sort();排序,(比较的时字符串,最佳方案是传入一个比较函数)
function compare(value1, value2) { 
if (value1 <value2) { 
    return -1; 
} else if(value1 <value2){
    return 1;
}else {
 return 0;
 }
 }

操作方法

  • splice()(第一个参数代表起始下标,第二个参数代表删除个数,第三个之后的参数代表插入项)
var arr = [1,2,3];
arr.splice(0,1);//从第一项开始删除一项
arr.splice(0,1,2)//把第一项替换为2
arr.splice(1,0,2)//在第一项后面插入一项2
  • slice()(截取数组,一个参数时,返回起始下标到最后的数组,两个参数返回起始位置到结束位置的数组,不包括结束位置)
  • concat();字符串拼接

位置方法

  • indexOf()查找字符串在数组中第一次出现的位置,没有返回-1
  • lastIndexOf()反向查找字符串在数组中第一次出现的位置,没有返回-1

迭代(遍历方法)

  • every()运行给定函数,每一项都为true,返回true
  • some()运行给定函数,任意一项都为true,返回true
  • forEach()对每一项做处理,无返回值
  • map()对每一项处理,返回处理后数组
  • filter()过滤,返回符合条件的数组
发布了34 篇原创文章 · 获赞 2 · 访问量 1649

猜你喜欢

转载自blog.csdn.net/liu_xiaoru/article/details/100827988