如何解决无法读取未定义的属性“排序”
无法读取未定义的属性“排序”
这是我的代码:
const items = [
{ id: 1,value:5,weight: 14 },{ id: 2,value:8,weight: 3 },{ id: 3,value: 10,weight: 8},{ id: 4,value: 2,weight: 4},];
maxWeight = 15;
function sort(){
let sort = 0;
items.value.sort((a,b) => b - a);
for(let i = 0; i < items.length; i++){
console.log(items[i].value)
sort += items[i].value;
if(sort <= maxWeight){
break;
}
}
console.log(sort);
}
sort();
我做错了什么?我是否错误地引用了对象?
解决方法
items
是一个数组,它没有 value
属性。相反,它里面的每个元素都有这样一个属性,你可以根据它对数组进行排序:
items.sort((a,b) => b.value - a.value);
,
如果您想按 items.sort((a,b) => b.value - a.value);
键排序,请勾选 value
const items = [
{ id: 1,value:5,weight: 14 },{ id: 2,value:8,weight: 3 },{ id: 3,value: 10,weight: 8},{ id: 4,value: 2,weight: 4},];
maxWeight = 15;
function sort(){
let sort = 0;
items.sort((a,b) => b.value - a.value);
//console.log(items);
for(let i = 0; i < items.length; i++){
console.log(items[i].value)
sort += items[i].value;
if(sort <= maxWeight){
break;
}
}
console.log(sort);
}
sort();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。