Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对对象数组进行排序,然后在JavaScript中映射?_Javascript_Reactjs - Fatal编程技术网

如何对对象数组进行排序,然后在JavaScript中映射?

如何对对象数组进行排序,然后在JavaScript中映射?,javascript,reactjs,Javascript,Reactjs,我有一个产品对象的数组,我试图按价格(从低到高)和(从高到低)对它们进行排序,然后通过已排序的数组映射以显示产品 我可以按时间对它进行排序,这里所指的创建的时间是指产品创建的时间,更新的时间是指产品最后一次修改的时间 映射中的JSX,因为我使用的是reactjs const产品=[ {名称:“键盘”, id:“1”, 创建日期:1614年, 更新日期:1620, 价格:{ 原始:1, 格式为:“1.00”, } }, {名称:“鞋”, id:“2”, 创建日期:1655, 更新日期:166

我有一个产品对象的数组,我试图按价格(从低到高)和(从高到低)对它们进行排序,然后通过已排序的数组映射以显示产品

我可以按时间对它进行排序,这里所指的
创建的时间是指产品创建的时间,
更新的时间是指产品最后一次修改的时间

  • 映射中的JSX,因为我使用的是reactjs
const产品=[
{名称:“键盘”,
id:“1”,
创建日期:1614年,
更新日期:1620,
价格:{
原始:1,
格式为:“1.00”,
}
},
{名称:“鞋”,
id:“2”,
创建日期:1655,
更新日期:1660,
价格:{
原始:2,
格式:“2.00”,
}
},
{名称:“键盘”,
id:“1”,
创建日期:1670,
更新日期:1670,
价格:{
原始:1,
格式为:“1.00”,
}
}
]
const sortedProducts=//排序后的产品
返回(
sortedProducts.map(产品=>
{product.name}
{product.price.formatted}
))
您可以使用
排序()
并比较price属性值

const产品=[{
名称:“键盘”,
id:“1”,
创建日期:1614年,
更新日期:1620,
价格:{
原始:1,
格式为:“1.00”,
}
},
{
名称:“鞋”,
id:“2”,
创建日期:1655,
更新日期:1660,
价格:{
原始:2,
格式:“2.00”,
}
},
{
名称:“键盘”,
id:“1”,
创建日期:1670,
更新日期:1670,
价格:{
原始:1,
格式为:“1.00”,
}
}
]
const sorted=products.sort((a,b)=>a.price.formatted.localeCompare(b.price.formatted))
控制台日志(已排序)为了使其“可运行”,我将最后一部分从JSX改回JavaScript

const产品=[
{名称:“屏幕”,
id:“1”,
创建日期:1614年,
更新日期:1620,
价格:{
原始值:1.5,
格式:“1.50”,
}
},
{名称:“鞋”,
id:“2”,
创建日期:1655,
更新日期:1660,
价格:{
原始:2,
格式:“2.00”,
}
},
{名称:“键盘”,
id:“1”,
创建日期:1670,
更新日期:1670,
价格:{
原始:1,
格式为:“1.00”,
}
}
]
const sortedProducts=products.sort((a,b)=>a.created-b.created);
document.getElementById('here').innerHTML=sortedProducts.map(product=>
`
${product.name}
${product.price.formatted}
`
).join(“\n”)