Array:
1. 创建数组:
直接量,
var aArr = [ 1, 2, 3 ];
// 特殊情况:最后一项结束不应该有逗号
var aArr = [ 1, 2, 3, ]; // 由于不同浏览器及版本会生成 3 或 4 项
构造函数, new 关键字可 省略
var aArr = new Array(2); // 参数为 一个数值 ,创建对应长度的数组
var aArr = new Array(1,2,3); // 参数为 多个数值/不是数值,将参数作为项
2. length: 可修改,通过修改 length 增加或减少数组项数,不影响各项顺序
增加修改的项为 undefined
3. 检查类型
aArr instanceof Array ; // 在唯一全局环境下
Array.isArray( aArr ); // ES5 方法
4. 转换
toString() // 将每项以逗号拼接的字符串,项为对象会调用其toString
valueOf() // 数组本身 每项以逗号分隔
toLocaleString() // 将每项以逗号拼接的字符串,项为对象会调用其toLocaleString
5. 栈 LIFO,
pop() // 出栈,数组本身减少 ( chrome 返回值为原长度 )
push( item, ... ) // 入栈,数组本身增加 ( chrome 返回值为新长度 )
6. 队列 FIFO
shift() // 出队,数组本身减少 ( chrome 返回值为原长度 )
unshift( item, ... ) // 入队,数组本身增加 ( chrome 返回值为新长度 )
7. 重排
reverse() // 反转
sort( func ) // 自定义排序规则, func 返回 1 (大于0/true) 交换位置,返回 -1 或 0 (小于等于 0/false)不交换位置
8. 内容操作
concat() 依据当前数组,添加新元素创建新数组
aArr.concat(); // 复制,返回副本
var bArr = aArr.concat();
bArr == aArr; // false
aArr.concat( item 或 数组 ); // 获取每项,添加为新项(只会解析最外层数组),返回新数组
var cArr = [ 1, 2 ].concat( ["66", [ "aa", "bb" ] ] );
cArr: [ 1, 2, "66", [ "aa", "bb" ] ]; // 不是 [ 1, 2, "66", "aa", "bb" ]
slice() 依据当前数组元素,创建子数组
// 结束位置 默认为数组末尾;位置为负从末尾倒向获取
// 结束位置 在 起点位置 前方,返回 [] 空数组
slice( 起点位置, 结束位置 );
splice() 对当前数组进行删除,并替换,最后返回被删除项组建的新数组
splice( 起点位置, 删除项数目, 插入的项... );
9. 位置操作 ES5 方法
indexOf( 目标项, 查找起点 ) // 向末尾查找,没有目标时返回 -1
lastIndexOf( 目标项, 查找起点 ) // 向起点查找,没有目标时返回 -1
[ 1, 2, 3 ].indexOf( "2" ); // -1 查找时使用 ==== 比较
10. 迭代 ES5 方法
every( func(item, index, array) ) 对每一项进行检验, 全为true时,返回true
some( func(item, index, array) ) 对每一项进行检验, 有任一项为true时,返回true
filter( func(item, index, array) ) 对每一项进行筛选, 当为true时,项被添加到要返回的新数组中
forEach( func(item, index, array) ) 对每一项进行操作, 仅进行方法执行
map( func(item, index, array) ) 对每一项进行操作, 将每项操作结果添加到要返回的新数组中
11. 归并 ES5 方法
// 对每一项与初始项进行操作, 返回操作结果, 操作结果作为初始项与下一项进行操作,结束时返回操作结果
// 不足两项时 直接返回 该项
reduce( func(prev, cur, index, array) ) // 初始项为 第一项,从第二项开始
reduceRight( func(prev, cur, index, array) ) // 初始项为 倒数第一项,从倒数第二项开始
[1].reduce(function(prev, cur, index, array){ return 0 - prev + cur; }); // 1
js: Array 方法属性
最新推荐文章于 2024-09-03 10:50:52 发布