JS基础-Array

Array.of()

数组构造器,和Array()差别在于对于整数参数的不同处理

Array.of(3)    //[3]
Array.of(1,2,3)    //[1,2,3]
//差异
Array(3)    //[ , , ] 三个空元素 empty slots
Array(1,2,3)    //[1,2,3]

concat() 无破坏性

拼接两个数组,对原数组和参数没有影响

var a = [1,2,3],b=[4,5,6],c=[ [66] ]
a.concat(b)     // Array [ 1, 2, 3, 4, 5, 6 ]
b.concat(a)    // Array [ 4, 5, 6, 1, 2, 3 ]
a.concat(c)    // Array [ 1, 2, 3, [66] ]

特殊情况,两个数组含有相同元素

var a=[1,2,3],b=[2,3,4]
a.concat(b)    // Array [ 1, 2, 3, 2, 3, 4 ]  并不会合并

entries()

获取一个数组的迭代器,重点注意 一旦使用,指针位置便会发生偏移,直到末尾

var arr = ["a", "b", "c"];
var temp = arr.entries()     // Array Iterator {  }

for (let e of temp) {
    console.log(e);
}
Array [ 0, "a" ]
Array [ 1, "b" ]
Array [ 2, "c" ]

every(callback,[thisArg])

对数组中每个元素执行一遍检查,直到某个callback返回false(后续不执行)或者全部通过

[5,6,7,8,9].every( t=> { console.log(t);return  t > 4} )    // 5,6,7,8,9,true
[5,6,7,8,9].every( t=> { console.log(t);return  t < 6 } )    // 5,6,false

fill(value, start, end) 破坏性

使用value值填充数组,start默认0(闭区间),end默认this.length(开区间)(中间那几个宫女没 峰度 啊,来,全换成柳岩)

var arr = [1, 2, 3,4,5,6,7]    
arr.fill('*', 1, 3)    // Array [ 1, "*", "*", 4, 5, 6, 7 ]

filter(callback,tisArg)

返回由通过检查的元素组成的新数组(嗯哼,给郑把 36D 的妃子们送过来)

var arr = [1, 2, 3,4,5,6,7]
arr.filter(t=> t > 4)    // Array [ 5, 6, 7 ]

find(callback,thisArg),findIndex(callback,thisArg)

返回符合callback函数的第一个元素,callback(value,.index,.array) (李公公,给郑找一个 前凸后翘 的嫔妃,把牌子带上(索引))

var arr = [1, 2, 3,4,5,6,7]
arr.find(t => t > 4)    // 5
arr.findIndex(t => t>4)    // 4

forEach(callback,thisArg)

后宫佳丽三千,挨个临幸,根本停不下来,除非精尽人亡(抛异常),但这就不好玩啦

.......自行脑补,好累

includes()

老板,你们这有9号技师吗?

var arr = [1,2,3,4,5]
arr.includes(9)    // false,没有!艹,开什么店

indexOf(),lastIndexOf()

老板,刚刚那个长腿MM是几号技师?

var arr = [1,2,3,4,5]
arr.indexOf(3)    // 2,2号技师
arr.indexOf(6)    //-1 ,抱歉,那是老板娘,无法服务

join()

老板,包场了,给我用小皮鞭绑一起

var arr = [1,2,3,4,5]
arr.join('--小皮鞭--')    // "1--小皮鞭--2--小皮鞭--3--小皮鞭--4--小皮鞭--5"

keys()

返回一个迭代器,就像是《爱情呼叫转移》的那个手机,按一下(.next())下一个

let arr = ["a", "b", "c"]
let iterator = arr.keys();
// undefined

console.log(iterator);
// Array Iterator {}

console.log(iterator.next()); 
// Object {value: 0, done: false}

console.log(iterator.next()); 
// Object {value: 1, done: false}

console.log(iterator.next()); 
// Object {value: 2, done: false}

console.log(iterator.next()); 
// Object {value: undefined, done: true}

map(callback)

返回一个由callback遍历处理后组成的新数组

let arr= [1, 2,3,4];
let arr2= arr.map( t => t ** 2);    //Array [ 1, 4, 9, 16 ]

shift()

删除数组第一个元素,并返回它

pop()

删除数组最后一个元素,并返回它

push()

将一个或多个元素添加到数组的末尾,并返回新数组的长度

reverse()

反转

slice(begin,end) [begin,end)

浅拷贝数组中指定位置之前的元素到一个新数组,原数组不被破坏

var arr = [0,1,2,3,4,5];
var arr2 = arr.slice(1,3)     // Array [ 1, 2 ]

some()

跟every()相比,every碰到false就停并返回false,some()则是找到一个“真”就返回

你可能感兴趣的:(JS基础-Array)