const array = [5, 4, 7, 8, 9, 2];
// 求和
array.reduce((a, b) => a + b);
// 最大值
array.reduce((a, b) => a > b ? a : b);
// 最小值
array.reduce((a, b) => a < b ? a : b);
let arr = [23,1,33,6,8,2];
max = Math.max(...arr);
console.log(max) //33
min = Math.min.apply(null,arr)
console.log(min) //1
// 对字符串、数字或对象数组进行排序
// 排序字符串数组
const stringArr = ["Joe", "Kapil", "Steve", "Musk"]
stringArr.sort();
stringArr.reverse();
// 排序数字数组
const array = [40, 100, 1, 5, 25, 10];
// 从小到大
array.sort((a, b) => a - b);
// 从大到小
array.sort((a, b) => b - a);
// 返回值大于0 即a-b > 0 , a 和 b 交换位置
// 返回值大于0 即a-b < 0 , a 和 b 位置不变
// 返回值等于0 即a-b = 0 , a 和 b 位置不变
// 对象数组排序
const objectArr = [
{ first_name: 'Lazslo', last_name: 'Jamf' },
{ first_name: 'Pig', last_name: 'Bodine' },
{ first_name: 'Pirate', last_name: 'Prentice' }
];
objectArr.sort((a, b) => a.last_name.localeCompare(b.last_name));
// 从数组中过滤出虚假值
const array = [3, 0, 6, 7, '', false];
array.filter(Boolean); // [3, 6, 7]
// 删除重复值
const array = [5, 4, 7, 8, 9, 2, 7, 5];
array.filter((item, idx, arr) => arr.indexOf(item) === idx);
// or
const nonUnique = [...new Set(array)];
// 输出: [5, 4, 7, 8, 9, 2]
// 打乱数组
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
list.sort(() => {
return Math.random() - 0.5;
});
// 空合并运算符 (??) 是一个逻辑运算符,
// 当其左侧操作数为空或未定义时返回其右侧操作数,否则返回其左侧操作数。
const foo = null ?? 'my school';
// 输出: "my school"
const baz = 0 ?? 42;
// 输出: 0
网友评论