除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了。
与其他多数语言中的数组区别及特性:
1、ECMAScript数组的每一项可以保存任何类型的数据(如
字符串、数值、对象...
)
2、数组的大小可以动态调整,即可以随着数据的添加自动增长以容纳新增数据。
△检测数组
- instanceof 操作符
if (value instanceof Array) {
// 对数组执行某些操作
}
存在的问题:
它假定只有一个全局执行环境。若网页中包含多个框架,就存在两个以上的全局执行环境,则会存在两个以上不同版本的Array构造函数。
- Array.isArray() 方法
解决了instanceof 的问题。
目的:
最终确定某个值到底是不是数组,而不管它是在哪个全局执行环境中创建的。
if (Array.isArray(value)) {
// 对数组执行某些操作
}
△转换方法
- toString() 方法
返回值:
由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。
- valueOf() 方法
返回值:
还是数组。
var colors = ["red", "blue", "green"]; // 创建一个包含3个字符串的数组
alert(colors.toString()); // red,blue,green
alert(colors.valueOf()); // red,blue,green
alert(colors); // red,blue,green
- join() 方法
功能:
可以使用不同的分隔符来构建返回的字符串。
var colors = ["red", "blue", "green"];
alert(colors.join(",")); // red,blue,green
alert(colors.join("||")); // red||blue||green
*若不传参数,或者传undefined,则使用逗号作为分隔符
△栈方法
- push()
- pop()
△队列方法
- shift()
- unshift()
△重排序方法
- reverse()
- sort()
△操作方法
- concat()
- slice()
- splice()
△位置方法
- indexOf()
- lastIndexOf()
△迭代方法
- every()
- some()
- filter()
- map()
- forEach()
△归并方法
- reduce()
- reduceRight()
网友评论