数组排序方法

107 阅读1分钟

1.sort()方法

如果调用该方法时没有参数,将按字母顺序对数组中的元素进行排序,是按照字符编码的顺序进行排序。

1.1字符串排序

    const arr = ['d', 'e', 'b', 'f', 'c', 'g', 'a', ]
    const newArr = arr.sort()
    console.log(newArr)

​​​​

1.2数字排序

如果是数字 就要增加参数一个回调函数来进行排序(回调中两个参数 第一个参数-第二个参数,就是正序从小到大,第二个参数-第一个参数就是倒序从大到小) ​

  const arr = [3, 1, 5, 9, 4, 6, 8, 2, 7]
    const newArr = arr.sort((a, b) => {
      return a - b
    })
    console.log(newArr) //  [1, 2, 3, 4, 5, 6, 7, 8, 9]

​​

    const arr = [3, 1, 5, 9, 4, 6, 8, 2, 7]
    const newArr = arr.sort((a, b) => {
      return b - a
    })
    console.log(newArr) // [9, 8, 7, 6, 5, 4, 3, 2, 1]

1.3按照对象某一个属性排序

1.3.1 按照对象数字排序 ​

    const arr = [{
      id: 2,
      word: 'a'
    }, {
      id: 1,
      word: 'c'
    }, {
      id: 4,
      word: 'b'
    }, {
      id: 3,
      word: 'd'
    }]
    const newArr = arr.sort((a, b) => {
      return a.id - b.id
    })
    console.log(newArr)

​​​​​

   const arr = [{
      id: 2,
      word: 'a'
    }, {
      id: 1,
      word: 'c'
    }, {
      id: 4,
      word: 'b'
    }, {
      id: 3,
      word: 'd'
    }]
    const newArr = arr.sort((a, b) => {
      return b.id - a.id
    })
    console.log(newArr)

​​​​

1.3.2 对象字符串排序 ​

    const arr = [{
      id: 2,
      word: 'a'
    }, {
      id: 1,
      word: 'c'
    }, {
      id: 4,
      word: 'b'
    }, {
      id: 3,
      word: 'd'
    }]
    const newArr = arr.sort((a, b) => {
      return a.word - b.word
    })
    console.log(newArr)

​​​​