数组方法
包含
arr.includes
let arr = ['love', 'like', 'miss', 'fancy']
// 数组中是否包含 'miss' 元素值
let res = arr.includes('miss')
console.log( res ) // true
合并
arr.concat()
let arr = ['a', 'b', 'c']
let brr = ['x', 'y', 'z']
arr.concat(brr) // arr 与 brr 合并, 返回一个新数组
排序
arr.sort()
let arr = [87, 65, 58, 34, 21, 56, 7]
// 对数组进行排序. 默认是以字符串排序.
// a, b 代表数组中任意两个元素比较, 根据数值比较结果进行排序
arr.sort(function(a, b){
return a - b
})
队列
array.push()
在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。
var a = [];
a.push(1) // 1
a.push('a') // 2
a.push(true, {}) // 4
console.log( a ); //[1, 'a', true, {}]
array.pop()
用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组
var a = ['a', 'b', 'c'];
a.pop() // 'c'
console.log( a );// ['a', 'b']
array.unshift()
在数组头部插入元素, 并返回数组的长度. 该方法会改变原数组
var a = ['a', 'b', 'c']
a.unshift('x','y')
console.log( a ) // ['x', 'y', 'a', 'b', 'c']
array.shift()
从数组头部移除一个元素, 并返回该元素的值. 该方法改变原数组
var a = ['a', 'b', 'c']
a.shift()
console.log( a ) // ['b', 'c']
截取
arr.slice()
用于提取原数组的一部分,返回一个新数组,原数组不变。
它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。
如果省略第二个参数,则一直返回到原数组的最后一个成员。
var arr = ['a','b','c','d','e'];
console.log(arr.slice(0)) // "a", "b", "c", "d", "e"]
console.log(arr.slice(1)) // ["b", "c", "d", "e"]
console.log(arr.slice(1,3)); // ["b", "c"]
位置
array.indexOf()
返回 元素值 第一次出现的下标. 没有该值,会返回 -1
let arr = ['a','b','b','c']
let index = arr.indexOf('b')
console.log(index)
array.find()
返回第一个让匿名函数结果为true的 元素值
let arrs = [0,2,5,8,29,4,-1,9]
// 从数组中 获取第一个 >5 的元素, 返回元素值
arrs.find(function(val, index){
if (va>5) {
return true; // 终止遍历
}
return false; // 继续下一次遍历
array.findIndex()
返回第一个符合条件的元素的下标
let arrs = [0,2,4,6,7,9]
let r = arrs.findIndex(function(val, index){
if (val>5) {
return true;
}
})