ReactJS:如何根据props的值对对象数组进行排序?

max*_*777 4 javascript arrays sorting reactjs

我有一个React对象数组,我想根据其中一个道具的值对它们进行排序.

var arr=[];
arr[0] = <Fruit name="orange" count={10}/>
arr[1] = <Fruit name"apple" count={5}/>
Run Code Online (Sandbox Code Playgroud)

是否内置了React函数,我可以使用它按照水果的升序排序这个数组count

deo*_*owk 6

React没有内置函数来处理这个(我知道),但你可以使用像lodash这样的东西来实现你想要的.我还建议您稍微更改数据结构.看看下面的例子.

// your data comes in like this  
var arr = [
    {name: "orange", count: 10}, 
    {name: "apple", count: 5},
    {name: "lemon", count: 11},
    {name: "grape", count: 2}
];

// order by ascending
var newArr = _.sortBy(arr, 'count', function(n) {
  return Math.sin(n);
});

// create your components
var fruits = newArr.map(function(fruit) {
   return(
      <Fruit name={fruit.name} count={fruit.count} />
   );
});
Run Code Online (Sandbox Code Playgroud)

是一个小提琴,用于说明排序功能的输入和输出