gpt4 book ai didi

javascript - 具有不确定属性的排序数组

转载 作者:行者123 更新时间:2023-11-30 12:19:22 24 4
gpt4 key购买 nike

我正在尝试编写一个函数来对具有动态排序属性的对象数组进行排序。但它不起作用。当我写 item1.calories 时就没问题了。但是当我使用 item1.prop (prop === calories) 时它不起作用。我尝试 console.log(prop === "calories") 结果是真的。为什么我不能像这样对数组进行排序?谢谢。

var products = [
{ name: "Item1", calories: 170 },
{ name: "Item2", calories: 160 }
];

function sortFunc(item1, item2)
{
var selectedOption = document.getElementById("selectField");
var prop = selectedOption.options[selectedOption.selectedIndex].value; //prop == calories

console.log(prop == "calories"); //true

if(item1.prop > item2.prop)
{
return 1;
}
else if(item1.prop === item2.prop)
{
return 0;
}
else
{
return -1;
}
}

function execSorting()
{
products.sort(sortFunc);
//here is function for displaying my array. It is not sorted.
}

最佳答案

您要查找的是“prop”,而不是对象中的变量 prop。

您需要使用括号表示法,而不是点表示法。

...
if(item1[prop] > item2[prop])
{
return 1;
}
else if(item1[prop] === item2[prop])
...

关于javascript - 具有不确定属性的排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31541569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com