1.求最大值(Math.max)
代码语言:javascript复制//数组求最大值
Math.max(...[23,43,5,98,1])
//数字求最大值
Math.max(23,43,5,98,1)
都输出 98,
求最小值,Math.min同理
2.数组添加到另外一个数组的尾部(...扩展符)
把arr4添加到arr3的尾部,可以看到,只是2个数组的追加,不会合并数组,去掉重复元素
代码语言:javascript复制let arr3 = [0, 1, 2, 3];
let arr4 = [3, 4, 5, 1, 9];
arr3.push(...arr4);
console.log(arr3)
console.log(arr4)
3.复制数组
3.1数组直接赋值
数组是复合的数据类型,直接复制的话,只是复制了指向底层数据结构的指针,而不是克隆一个全新的数组。
代码语言:javascript复制const a1 = [1,2]
const a2 = a1
a2[0] = 2
console.log(a1)
console.log(a2)
更改a2的值,会直接影响a1的值,a2
并不是a1
的克隆,而是指向同一份数据的另一个指针
3.2 es5通过concat方法进行克隆,不会影响原来数组
concat方法会直接返回数组的克隆,不会影响原来数组
代码语言:javascript复制const a1 = [1 ,2]
const a2 = a1.concat()
a2[0] = 2
console.log(a1)
console.log(a2)
3.3 es6通过扩展字符串来实现克隆
代码语言:javascript复制const a1 = [1, 2]
// 写法一
const a2 = [...a1];
// 写法二
const [...a3] = a1;
a2[0] = 2
console.log(a1)
console.log(a2)
console.log(a3)
4.用Object.keys清空对象的属性值
es6新增keys方法,对数组进行遍历,返回遍历器对象,keys是对键名遍历,返回key的一个数组,再通过foreach循环,清空对象的属性
代码语言:javascript复制var param = {
name:'may',
age: '18'
}
var keys =Object.keys(param)
Object.keys(param).forEach(key => param[key] = '')
keys
param
5.forEach,遍历数组,无返回值,不改变原数组
forEach遍历数组,没有返回值,不改变原数组,仅仅只是用来遍历数组,常用来注册组件,指令等
代码语言:javascript复制var arr = [1,2,3,4]
arr.forEach((item,index,arr) => {
console.log(item,index,arr)
})
6.map遍历数组,返回新数组,不改变原数组
map遍历数组,返回一个新的数组,不改变原数组
代码语言:javascript复制var arr = [1,2,3,4,5]
var brr = arr.map((item,index,arr) => {
return item * 10
})
console.log(arr,brr)
7.filter,过滤掉数组不符合条件的值,返回新数组,不改变原数组
filter,遍历数组,过滤掉数组中不符合条件的值,返回新数组,不改变原数组
代码语言:javascript复制var arr = [1,2,3,4]
var brr = arr.filter((item,index,arr) => {
return item > 2
})
brr
8.reduce
reduce,让数组的前后两项执行方法里的条件,并返回最终计算结果,不改变原数组。函数多了一个result的参数,result是上次计算的结果,resulte默认值为第一个数组元素。
代码语言:javascript复制var arr = [1,2,3,4]
var b = arr.reduce((result,item,index,arr) => {
return result item
})
b
9 some()
some遍历数组,如果有一个元素符合条件,则返回true,并停止遍历;如果没有返回条件的元素,返回false。不改变原数组
代码语言:javascript复制var arr = [1,3,4,5]
var b = arr.some((item,index,arr) => {
return item === 4
})
b
10.every
遍历数组,如果每个元素都符合条件,那么返回true;如果有一个元素不符合条件,则返回false,并停止遍历
代码语言:javascript复制var arr = [1,2,3,4]
var b = arr.every((item,index,arr) => {
return item > 0
})
b