jQuery自定义对象排序
我是新手,而且我的英语也不太好。我的问题是,我试图从数组构建一个对象表,但没有成功。目标是建立简单的发票脚本,但我卡住了。假设我有一个带有一些位置的数组: recordArr=[值,带税值,税百分比] 我想构建一个对象数组,通过键“taxInPercent”对位置(value,valueWithTax)求和。我现在所做的是:jQuery自定义对象排序,jquery,sorting,object,Jquery,Sorting,Object,我是新手,而且我的英语也不太好。我的问题是,我试图从数组构建一个对象表,但没有成功。目标是建立简单的发票脚本,但我卡住了。假设我有一个带有一些位置的数组: recordArr=[值,带税值,税百分比] 我想构建一个对象数组,通过键“taxInPercent”对位置(value,valueWithTax)求和。我现在所做的是: for(key in recordArr){ if ( isNaN(SortrRecordArr[recordArr[key][2]]) ) {
for(key in recordArr){
if ( isNaN(SortrRecordArr[recordArr[key][2]]) ) {
SortrRecordArr[recordArr[key][2]] = [recordArr[0], recordArr[1]]
}
else {
newValue = SortrRecordArr[recordArr[key][2]][0] + recordArr[0]
newValueWithTax = SortrRecordArr[recordArr[key][2]][1] + recordArr[1]
SortrRecordArr[recordArr[key][2]] = [newValue, newValueWithTax];
}
}
但这只保留recordArr中显示的最后一个值
当然,我之前已经定义了对象和变量。我希望我说得很清楚
所以是这样的:
假设我有一个数组:
recordArr[1] = [1 , 2 , 23]
recordArr[2] = [1 , 2 , 23]
recordArr[3] = [2 , 3 , 8]
recordArr[4] = [2 , 3 , 8]
recordArr[5] = [3 , 4 , 5]
recordArr[6] = [3 , 4 , 5]
我搜索的结果如下:
SortRecordArray[23] = [2 , 4]
SortRecordArray[8] = [4 , 6]
SortRecordArray[5] = [6 , 8]
我希望这能更清楚地理解我在做什么
感谢您的建议,请保持温和。您应该检查对象中是否存在该项
这是你需要的全部编辑代码
var recordArr = [];
var SortrRecordArr = [];
recordArr[1] = [1 , 2 , 23];
recordArr[2] = [1 , 2 , 23];
recordArr[3] = [2 , 3 , 8];
recordArr[4] = [2 , 3 , 8];
recordArr[5] = [3 , 4 , 5];
recordArr[6] = [3 , 4 , 5];
for(var key in recordArr){
if (!SortrRecordArr.hasOwnProperty(recordArr[key][2])) {
SortrRecordArr[recordArr[key][2]] = [recordArr[key][0], recordArr[key][2]];
} else {
newValue = SortrRecordArr[recordArr[key][2]][0] + recordArr[key][0];
newValueWithTax = SortrRecordArr[recordArr[key][2]][3] + recordArr[key][4];
SortrRecordArr[recordArr[key][2]] = [newValue, newValueWithTax];
}
}
console.log(SortrRecordArr)
是的,但我在前面没有说recordArr包含多个项目。那么,您能否在您的问题中添加一个包含多个项目的示例recordArr?我不理解您试图获得的结果,但看起来您可能可以利用它。