数组,关于每个前端职员来讲黑白经常见且主要的数据结构之一,也是口试经常涌现的问题,控制数组的要领能协助我们更高效地处置惩罚问题。不过在数组的进修中,我们经常会殽杂数组自身的要领和Javascript供应的数组的要领,在这里只简朴归结一下。
经常使用的数组要领
1、pop()
删除数组的末了一个元素,返回被删除的元素,原数组长度减1。原数组发生了变化,但没有建立新的数组。
2、shift()
删除数组的第一个元素,返回被删除的元素,原数组长度减1。原数组发生了变化,但没有建立新的数组.
3、unshift()
增加元素到数组的第一位,返回增加后的数组的长度,可见,原数组长度加1。原数组发生了变化,但没有建立新的数组。
4、push()
增加元素到数组的末了,返回增加后的数组的长度,可见,原数组长度加1。原数组发生了变化,但没有建立新的数组。
5、sort()
将指定数组举行排序,返回排好序的数组。改变了数组。
6、reverse()
倒置数组元素的递次,返回逆序后的数组。改变了数组。
7、join(separator)
返回字符串值,不影响原数组。
8、toString()
将数组转为字符串,与join()的默许结果一致
9、splice(start, end)
返回被删除的元素,从start最先删,删end个(包括start)。
splice(start, end, item):返回被删除的元素,并插进去新的元素item(从被删的位置插进去)
10、concat()
拼接两个或多个数组,返回新数组,对原数组没有影响
11、slice(start, end)
返回截取的新数组,从start最先截取,截end个,但截取的元素不包括第end个的元素,即截取end-1个。
slice(0):复制旧数组,天生新数组。
ES5新增的要领
1、indexOf()
返回查找项第一次在数组中涌现的位置,第一个参数为查找项,第二个参数可选,为查找最先的位置。假如查找不到,则返回 -1。这经常应用在数组去重的案例中。
2、lastindexOf()
从后往前找,查找方向与 indexOf 相反。
3、every(callback, [this.Arg])
当数组的一切元素都满足前提时,返回 true,不然返回false。
前提是item>3,只需4,5,6,7大于3,返回false
4、some(callback, [this.Arg])
只需数组有一项元素满足前提,就返回 true,不然返回false。
前提是item>3,4,5,6,7大于3,返回true
5、filter(callback, [this.Arg])
满足前提的元素构成新的数组
前提是item>3,4, 5, 6, 7大于3,返回[4, 5, 6, 7]
6、map(callback, [this.Arg])
每次挪用函数处置惩罚后的值构成新的数组
var arr = [{"name": "Amy", age: 20}, {"name": "Sheldon"}, age: 22];
var result = map(function(item, index, array){
return item.age //返回[20, 22]
})
7、forEach()
轮回遍历,与for轮回差不多,适用于轮回次数未知,瑕玷是不能中缀轮回