let arr1=[1,2,3,4];
let arr2=[5,6,7,8];
//push()元素直接添加到末尾,可以添加多个元素
//pop()删除数组末尾第一个元素
//unshift()在数组开头插入值,可以添加多个元素
//shift()在数组开头删除第一个值
//splice()
// arr.splice(1, 0, 3, 3, 2, 11);//从索引1开始插入元素,覆盖0个,分别插入3,3,2,11 如果是0,则默认没有结束索引值
// arr.splice(1, 3) //删除元素,从索引1开始,删除3个
//slice(start,end) 返回截取后的数组;[start,end) 类似字符串中的subString
//concat可以合并多个数组,也可以合并字符串
//arr2=arr2.concat(arr1) //1-8,a
let numbers = [1, 2, 4, 6];
const isEven = x => x % 2;
//使用every方法迭代,迭代每个元素,直到返回false;如果都为true,则返回true
console.log(numbers.every(isEven));
//使用some方法迭代,迭代每个元素,直到返回true;如果都为false,则返回false
console.log(numbers.some(isEven));
//使用foreach方法迭代输出每个数组的值 (value,index,arr)
numbers.forEach(x => console.log(x));
//使用map方法迭代,迭代每个元素,返回一个数组,存储每个元素的值
console.log(numbers.map(isEven));
//使用filter方法迭代,返回的数组值都由true元素组成
console.log(numbers.filter(isEven));
//使用reduce方法迭代,对一个数组中的所有元素求和
console.log(numbers.reduce((previous, current) => previous + current));
//使用form方法复制数组
//Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
let arr2 = Array.from(numbers);
//Array.of()方法 复制数组
let arr3 = Array.of(3)
//Array.fill() value用来填充数组元素的值。start起始索引 可选;end结束索引 可选
//创建数组并初始化值的时候,fill方法非常好用,就像下面这样
let arr4 = Array(6).fill(1);
// copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。'
const array1 = ['a', 'b', 'c', 'd', 'e'];
// copy to index 0 the element at index 3
console.log(array1.copyWithin(0, 3, 4));
// expected output: Array ["d", "b", "c", "d", "e"]
// 查找
function doSth(element) {
return element % 2 == 0
}
console.log(numbers.find(doSth)); //返回值 2
console.log(numbers.findIndex(doSth)); //返回索引 1
console.log(numbers.includes(2));//1.要查询的值,2.startIndex 返回Boolean值