复习数组中的所有方法
复习数组中的所有方法以及es6 新出的方法
concat
var arr1 = [1, 2, 3, 4, 5]
var arr2 = ['a', 'b', 'c', 'd']
// 数组内容合并,返回新的数组
console.log(arr1.concat(arr2))
//[1, 2, 3, 4, 5, "a", "b", "c", "d"]
// 可以同时合并多个数组
console.log(['111'].concat(arr2,['12'],['13'], arr1))
//["111", "a", "b", "c", "d", "12", "13", 1, 2, 3, 4, 5]
copyWithin
var arr = ['s', 'c', 'r', 'i', 'p', 't']
console.log(arr.copyWithin(4, 1, 2))//["s", "c", "r", "i", "c", "t"]
// copyWithin(target, start, end)
// target 复制到指定位置
// start 从那个地方开始
// end 到那里结束
// 将索引从第1项开始到第2项结束(不包含索引2)的内容复制到索引为4的位置上
entries
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// 从数组中创建一个可迭代的对象。迭代对象的每个实体来自数组对应的元素
// `注意: IE11 及其更早的浏览器版本不支持 entries 方法。`
var x = arr.entries();
console.log(x.next().value)//[0, "s"]
console.log(x.next())
console.log(x.next())
输出结果:
every
var arr = [100,200,3,400,500]
// every 返回结果有一个为false 都为false
arr.every((item, index, ar)=>{
console.log(item, index, ar)// 100 0 (5) [100, 200, 3, 400, 500]
return item < 50
})
fill
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// fill() 方法用于将一个固定值替换数组的元素。
// `注意: IE 11 及更早版本不支持 fill() 方法。`
console.log(arr.fill('值', 3, 4)) // ["s", "c", "r", "值", "p", "t"]
// fill 和 copyWithin 类似,一个是指定内容,一个是以索引为目标
filter
var arr = [1,2,3,4,1]
// 过滤数据 返回满足条件的值
var a = arr.filter((item, index, ar, a)=>{
return item >= 3
})
console.log(a); // [3, 4]
find
var arr = [3, 10, 18, 20];
// 满足条件返回对应的【值】,并且跳出,不在执行
var a = arr.find((v)=> {
console.log(v)
return v >= 18
})
console.log(a) // 18
findIndex
var arr = [3, 10, 18, 20];
// 返回满足条件对应的【索引】,并且跳出,不在执行
var a = arr.findIndex((v)=> {
console.log(v)
return v >= 18
})
console.log(a) // 2
forEach
var arr = ['a','b','c']
// 循环数据 没有返回值。可通过return 跳出循环
arr.forEach((item, index, ar)=>{
console.log(item, index, ar)
// item 值
// index 索引
// ar 当前数组
})
includes
// includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
[1, 2, 3].includes(2); // true
indexOf
// 从前向后搜索 查找当前数组中的某一个元素所在位置的索引,没有则返回-1
[1,2,3,4].indexOf(3) // 2
join
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// 数组内容的拼接
arr.join('')// script
arr.join('*')// "s*c*r*i*p*t"
keys
var arr = ['s', 'c', 'r', 'i', 'p', 't'].keys()
// 数组 keys() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键。
console.log(arr.next())//{value: 0, done: false}
console.log(arr.next())//{value: 1, done: false}
console.log(arr.next())//{value: 2, done: false}
console.log(arr.next())//{value: 3, done: false}
lastIndexOf
// indexOf类似 区别在于 【从后向前搜索】
['s', 'c', 'r', 'i', 'p', 't'].lastIndexOf('t') // 5
length
// 返回数组的长度 从1 开始
['s', 'c', 'r', 'i', 'p', 't'].length
map
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// 数组遍历,返回新的数组
var a = arr.map((item , index, ar)=>{
// item 值
// index 索引
// ar 当前数组
if(index < 3) {
return item
}
})
// a ["s", "c", "r", undefined, undefined, undefined]
pop
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// 删除数组中的最后一项
arr.pop()// 返回删除的元素
console.log(arr)//["s", "c", "r", "i", "p"]
push
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// 给数组追加值
arr.push(1)// 返回索引
console.log(arr)//["s", "c", "r", "i", "p", "t", 1]
reduce
// 求数据的总和
var arr = [1,2,3,4,5]
var a = arr.reduce((sum, current, index, ar)=>{
// sum return 返回的值
// current 当前遍历的值
// index 索引
// 当前遍历的数组
return sum + current;
})
console.log(a) // 15
reduceRight
// 求数据的总和
var arr = [1,2,3,4,5]
var a = arr.reduceRight((sum, current, index, ar)=>{
// reduceRight 和 reduce 类似, 区别 reduceRight 从右向左,reduce从左向右
return sum + current;
})
console.log(a) // 15
reverse
// 数组内容反转
[1,2,3].reverse() //[3, 2, 1]
shift
// 用于把数组的第一个元素从其中删除,并返回第一个元素的值。
[1,2,3].shift() //1
unshift
// 可向数组的开头添加一个或更多元素,并返回新的长度。
[1,2,3].unshift(4) //4
var arr = [1,2,3]
arr.unshift('a','b','c')
// arr ["a", "b", "c", 1, 3, 4]
slice
var arr = ['s', 'c', 'r', 'i', 'p', 't']
// 方法可从已有的数组中返回选定的元素
arr.slice(2, 3) // ["r"]
some
var arr = [1,2,61,4,5];
// some 有一个满足条件 就停止运行
arr.some((item, index, ar)=> {
console.log(item, index, ar)
return item === 61
})
sort
var arr = ['c','d','a', 'b']
// 方法用于对数组的元素进行排序。
arr.sort((a, b)=> {
return a - b
})
/*-------------------------*/
var arr = [1,2,6,4,5];
arr.sort((a, b) => a - b);
// [1, 2, 4, 5, 6]
/*-------------------------*/
var arr = [1,2,6,4,5];
arr.sort((a, b) => b - a);
// [6, 5, 4, 2, 1]
// 注意:arr.sort() 直接调用会导致排序错误
splice
var arr = [1,2,3,4,5]
// 数组内容截取
arr.splice(0,1) // [1]
//arr [2, 3, 4, 5]
toLocaleString
var array = ['a', 'b', 'c'];
//把数组转换为本地数组,并返回结果
console.log(array.toLocaleString()); //"a,b,c"
toString
var array = ['a', 'b', 'c'];
//把数组转换为字符串,并返回结果,每一项以逗号分割。
console.log(array.toLocaleString()); //"a,b,c"
备注:如果有那块错误或者还有遗漏的请留言,感谢