const arr = [4, 3, 2, 1];
/* 操作数组 */
//在末尾添加元素
arr.push(5); // 结果: [4, 3, 2, 1, 5]
//在开头添加元素
arr.unshift(0); // 结果: [0, 4, 3, 2, 1, 5]
//移除最后一个元素
arr.pop(); // 结果: [0, 4, 3, 2, 1]
//移除第一个元素
arr.shift(); // 结果: [4, 3, 2, 1]
//反转元素
arr.reverse(); // 结果: [1, 2, 3, 4]
//与另一个数组连接
arr.concat([5, 6]); // 结果: [1, 2, 3, 4, 5, 6]
//在索引2处插入元素
// 参数:start 指定修改的开始位置(从0计数), deleteCount可选, item1, item2 ... 可选
arr.splice(2, 0, 'a', 'b'); // 结果: [1, 2, 'a', 'b', 3, 4]
//从索引0-2复制元素到索引2
// 参数:target, start,end
arr.copyWithin(2, 0, 2); // 结果: [1, 2, 1, 2, 3, 4]
// 用0填充索引2-4的元素,
arr.fill(0,2,4); // 结果: [1, 2, 0, 0, 3, 4]
/*--- 排序和搜索数组--- */
// 升序排序
arr.sort((a,b) => a - b); // 结果: [0, 0, 1, 2, 3, 4]
// 查找3的第一个索引,
arr.index0f(3); // 结果: 4
// 查找3的最后一个索引,
arr.lastIndex0f(3); // 结果: 4
// 检查数组是否包括3,
arr.includes(3); // 结果: true
// 通过索引访问数组元素,
arr.at(1); // 结果: 0
/* --- 遍历数组 --- */
// 遍历并打印值
arr.forEach((value, index) => console.log(value));
/* 筛选和查找 --- */
// 保留偶数,
arr.filter(num => num % 20 === 0); // 结果:[0, 0, 2, 4]
// 查找第一个大于2的元素,
arr.find(num => num > 2); // 结果: 3
// 查找第一个大于2的元素的索引,
arr.findIndex(num => num > 2); // 结果:5
/* -- 映射和缩减--- */
// 将每个元素加倍,结果: [0, 0, 2, 4, 6, 8]
arr.map(num => num * 2);
// 所有元素之和,
arr.reduce((acc, curr) => acc + curr, 0); // 结果: 10
// 从右到左所有元素之和,结果: 10
arr.reduceRight((acc, curr) => acc + curr, 0);
/* 类型转换大 */
// 使用逗号分隔符转换为字符串,
arr.join(', '); // 结果:"0, 0, 1, 2, 3, 4"
// 转换为区域特定字符串
arr.toLocaleString();
/* 检查和转换大--- */
// 检查所有值是否大于0, 结果: false
arr.every(val => val > 0);
// 检查某些值是否大于0,结果: true
arr.some(val => val > 0);
// 创建一个新数组,所有子数组元素连接在一起,结果: [0, 0, 1, 2, 3, 4]
arr.flat();
// 映射然后展平,
arr.flatMap(x => [x * 2]); // 结果:[0, 0, 2, 4, 6, 8]
标签:arr,JavaScript,结果,元素,---,num,数组,方法
From: https://www.cnblogs.com/gtlove/p/17973133