js数组得一些方法
具体怎么用呢如下
let arr = [ 1 , '1' , 2 , 1 , '1' , 2 , 3 , 4 , 3 , 4 , 5 , 6 , 5 , 1 , 1 ] ;
let newarr = arr. some ( ( v, i, arr) => {
return 3 === arr[ i]
} )
console. log ( newarr)
数组得去重方法
< script>
let arr = [ 1 , '1' , 2 , 1 , '1' , 2 , 3 , 4 , 3 , 4 , 5 , 6 , 5 , 1 , 1 ] ;
let newarr = arr. filter ( ( v, i, arr) => {
console. log ( arr. indexOf ( v) )
return arr. indexOf ( v) === i
} )
console. log ( newarr)
< / script>
数组的reduce方法
let arr = [ 1 , 3 , 4 , 5 , 6 , 4 , 10 , 89 ] ;
let newArr = arr. reduce ( ( pre, cur) = > {
console. log ( pre) ;
return pre + cur
} ) ;
数组的reduce方法回掉函数里的pre与cur 分别代表上一个与下一个 其中pre 也等于 retuen 的值同时也可以另一种写法在传一个参数 但是这个参数就相当于pre
let arr = [ 1 , 3 , 4 , 5 , 6 , 4 , 10 , 89 ] ;
let newArr = arr. reduce ( ( pre, cur) = > {
console. log ( pre) ;
return pre + cur
} , 0 ) ;
这种写法第一次的pre就是传入的0 而cur则变成了数组里的第0个也就是数字1 同时也是可以利用这种方法进行查重
let arr = [ 1 , 3 , 4 , 5 , 6 , 4 , 10 , 89 , 1 , 2 , 2 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 4 ] ;
let newArr = arr. reduce ( ( pre, cur) => {
if ( ! pre. includes ( cur) ) {
pre. push ( cur)
}
return pre. sort ( ( a, b) => { return a- b} ) ;
} , [ ] ) ;
console. log ( newArr)
也还可以这么使用
let arr = [ 'a' , 'a' , 'b' , 'b' , 'c' , 'c' , 'd' , 'd' ] ;
let result = arr. reduce ( ( pre, cur) => {
if ( cur in pre) {
pre[ cur] ++
} else {
pre[ cur] = 1
}
return pre
} , { } ) ;
console. log ( result) ;
这样就可以来判断出现了几次
传入一个数组来后来判断这个数组里有没有 如果有就什么也不干 如果没有就添加进去 非常的方便
假设后端会给我很多无用的字段 例如是arr1 ,但是实际上我只需要其中的几个例如arr2 那么就可以进行一下操作
let arr1 = [ 'id' , 'name' , 'cc' , 'dd' , 'aa' , 'cc' , 7 , 8 , 9 , 0 ] , arr2 = [ 'id' , 'name' , 'cc' ] , arr3;
arr3 = arr2. filter ( value => arr1. includes ( value) )