无法对对象数组进行排序

时间:2018-12-17 18:55:45

标签: javascript reactjs

我试图在按下按钮时按字母顺序对数组进行排序,但是到目前为止,我尝试的所有操作都失败了。按钮和功能在我尝试控制台记录某些内容时起作用,并在控制台中打印。我感觉我的排序功能有误,但是我不确定该怎么办。我该如何解决才能使其正常工作?

s=?
s.encode("UTF-8") -> results in error

2 个答案:

答案 0 :(得分:1)

尝试一下

sortAlpha() {
    const breweries = [...this.state.breweries].sort((a, b) => {
      if (a.name < b.name) return -1;
      if (a.name > b.name) return 1;
      return 0;
    });
    this.setState({ breweries: breweries });
  }

答案 1 :(得分:1)

sort不适用于字符串。

它应该返回以下三个值之一:

  • 如果SparkContext.runJob大于a.value则为正数。
  • 如果b.value大于b.value,则为负数。
  • 如果a.value == 0,则为零(a.value

因此,您的情况应该是这样的:

b.value

请记住,.sort((a, b) => { if (a.name < b.name) { return -1; } if (a.name > b.name) { return 1; } return 0; }); 对元素进行了排序(变异)