Array.from
将字符串转化为数组
let arr = [1,2,3,4,5,6,7,8,9] ;
let names = Array.from(name) ;
console.log(names) ;
结果:["宇", "智", "波", "带", "土"]
Array.of
将一组值转换为数组,类似声明数组
let arr2 = Array.of('hello','world') ;
console.log(arr2) ;
结果:["hello", "world"]
push
push可以接收到任何参数,把他们逐个添加到数组末尾
let arr = [1,2,3,4,5,6,7,8,9] ;
arr.push(10) ;
console.log(arr) ;
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pop
pop可以从数组末尾移除最后一项,然后返回移除的项
let arr = [1,2,3,4,5,6,7,8,9] ;
let pos = arr.pop();
console.log(arr) ;
console.log(pos) ;
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
shift
shft可以从数组第一个值移除,然后返回移除的项
let arr = [1,2,3,4,5,6,7,8,9] ;
let shft = arr.shift() ;
console.log(shft) ;
console.log(arr) ;
结果:[2, 3, 4, 5, 6, 7, 8, 9]
unshift
unshift可以在数组前端添加任意个值并返回数组的长度
let arr = [1,2,3,4,5,6,7,8,9] ;
let arrLength = arr.unshift(1) ;
console.log(arrLength) ;
console.log(arr) ;
结果:[1, 1, 2, 3, 4, 5, 6, 7, 8, 9]
reverse
reverse可以反转数组的顺序
let arr = [1,2,3,4,5,6,7,8,9] ;
arr.reverse() ;
console.log(arr) ;
结果:[9, 8, 7, 6, 5, 4, 3, 2, 1]
sort
sort可以将数组从大到小排列
let ar1 = ["a","c","j","l","k","y","p"] ;
ar1.sort();
console.log(ar1) ;
结果:["a", "c", "j", "k", "l", "p", "y"]
concat
concat可以基于数组中的所有项尾部创建一个新数组
let arr = [1,2,3,4,5,6,7,8,9] ;
let newarr = arr.concat([4,5,6],[7,8,9]) ;
console.log(newarr) ;
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 4, 5, 6, 7, 8, 9]
join
join可以将数组的元素组起一个字符串以separator为分隔符
let arr = [1,2,3,4,5,6,7,8,9] ;
console.log(arr.join("-"));
结果:1-2-3-4-5-6-7-8-9
slice
slice返回从原数组中指定开始下标到结束下标之间的项组成的新数组
let arr = [1,2,3,4,5,6,7,8,9] ;
var arrCopy = arr.slice(1,4)
console.log(arrCopy) ;
结果:[2, 3, 4]
indexOf
indexOf返回要查找的项和(可选的)表示查找起点位置的索引 从数组的位置0开始查找
let arr = [1,2,3,4,5,6,7,8,9] ;
console.log(arr.indexOf(5));
结果:4
lastIndexOf
lastIndexOf返回要查找的项和(可选的)表示查找末尾位置的索引 从数组的末尾开始查找
let arr = [1,2,3,4,5,6,7,8,9] ;
console.log(arr.lastIndexOf(5))
结果:4
forEach
forEach对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。
参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。
let arr = [1,2,3,4,5,6,7,8,9] ;
undefined
arrone = [] ;
arr.forEach(element =>{
arrone.push(element) ;
})
console.log(arrone) ;
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
map
map指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
let arr = [1,2,3,4,5,6,7,8,9] ;
undefined
arr.map((item,index)=>{
console.log("值为:"+item+",下标为:"+index) ;
})
结果:
值为:1,下标为:0
值为:2,下标为:1
值为:3,下标为:2
值为:4,下标为:3
值为:5,下标为:4
值为:6,下标为:5
值为:7,下标为:6
值为:8,下标为:7
值为:9,下标为:8
filter
filter“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
let filarr = [1,2,3,4,5,6,7,8,9,10] ;
let arr3 = filarr.filter((x)=>{
return x>=8 ;
})
console.log(arr3) ;
结果:[8, 9, 10]
every
every判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
let evearr = [32,33,2,16,40] ;
let arr4 = evearr.every((x)=>{
return x < 3 ;
})
console.log(arr4) ;
结果:false
some
some方法如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
let arr5 = evearr.some((x)=>{
return x < 3 ;
})
console.log(arr5 ? "还是有一个值符合!":"没有值符合") ;
结果:还是有一个值符合!
reduce
这两个方法都会实现迭代数组的所有项,然后构建一个最终返回的值。
reduce()方法从数组的第一项开始,逐个遍历到最后。而 reduceRight()则从数组的最后一项开始,向前遍历到第一项。
let values = [1,2,3,4,5];
let sum = values.reduce((one,two)=>{
return one + two ;
})
console.log(sum) ;
结果:15