繁体   English   中英

Javascript 按 object 里面的值对多个 Arrays 排序

[英]Javascript sort multiple Arrays by object values inside

有没有办法通过 IE 中的 object 值对 javascript 中的多个 arrays 进行排序? 我想保持数组完整,因为一旦它被重组,我将从它获取其他数据,即图像、名称。

我还附上了一张我收到的数据的照片,以便更好地澄清。

对象数组

const array1 = [{ stats: {one_day_sales: 7}}]
const array2 = [{ stats: {one_day_sales: 18}}]
const array3 = [{ stats: {one_day_sales: 1}}]
const array4 = [{ stats: {one_day_sales: 13}}]

我正在寻找的结果是

const array2 = [{ stats: {one_day_sales: 18}}]
const array4 = [{ stats: {one_day_sales: 13}}]
const array1 = [{ stats: {one_day_sales: 7}}]
const array3 = [{ stats: {one_day_sales: 1}}]

不确定您要做什么,您只能对数组中的内容进行排序,因此我将您的示例数据放入一个数组中,然后再进行排序。 您正在寻找的可能是 function 类型。 我将它们按数字升序排序,但如果您希望它们降序,只需将 a 与 b 交换:

 const array1 = [{ stats: { one_day_sales: 7 } }] const array2 = [{ stats: { one_day_sales: 4 } }] const array3 = [{ stats: { one_day_sales: 2 } }] let arrayOfObjects = [array1[0], array2[0], array3[0]] arrayOfObjects.sort((a, b) => { // one day sales being the identifier for sorting return a.stats.one_day_sales - b.stats.one_day_sales // swap a with b for descending }) console.log(arrayOfObjects)

您可以解构数组并按所需顺序分配新数组。

 let array1 = [{ stats: { one_day_sales: 7 }}], array2 = [{ stats: { one_day_sales: 4 }}], array3 = [{ stats: { one_day_sales: 2 }}]; [array1, array2, array3] = [array1, array2, array3].sort(([a], [b]) => b.stats.one_day_sales - a.stats.one_day_sales); console.log(array1) console.log(array2) console.log(array3)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM