关于数组 求和 排序

2022-08-31  本文已影响0人  欧小肥OuO
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
上一篇下一篇

猜你喜欢

热点阅读