【发布时间】:2021-11-28 08:15:32
【问题描述】:
我一直在尝试对数组内的对象内的字符串进行排序。通过将字符串拆分为数组,我成功地对数组进行了排序。之后我将数组转回字符串。但后来当我打印结果时,数组里面的对象和以前一样。这是我的代码:
function merge(arr, needed_length){
for(var i = 0; i < arr.length; i++){
console.log(arr[i]['A1'].split(', ').sort(function(a, b){
return b - a;
}).join(', '));
console.log(arr[i]);
}
}
console.log(merge([{A1:'8, 7, 9'}, {A1:'4, 8, 6'}, {A1:'2, 4, 3'}], 5));
这是打印出来的结果:
9, 8, 7
{ A1: '8, 7, 9' }
8, 6, 4
{ A1: '4, 8, 6' }
4, 3, 2
{ A1: '2, 4, 3' }
有人可以帮我理解为什么对象没有改变吗?提前谢谢你:)
【问题讨论】:
-
您正在对来自
.split(' , ')的数组进行排序。这不会改变arr[i]['A1']的内容 -
为什么你总是在
arr(console.log(arr[0])) 中记录第一个元素? o.O -
如果要更改arr[i]['A1']的内容,应该怎么做?
-
你需要assign。
-
我已经改成
console.log(arr[i])
标签: javascript arrays string sorting object