jQuery自定义对象排序

jQuery自定义对象排序,jquery,sorting,object,Jquery,Sorting,Object,我是新手,而且我的英语也不太好。我的问题是,我试图从数组构建一个对象表,但没有成功。目标是建立简单的发票脚本,但我卡住了。假设我有一个带有一些位置的数组: recordArr=[值,带税值,税百分比] 我想构建一个对象数组,通过键“taxInPercent”对位置(value,valueWithTax)求和。我现在所做的是: for(key in recordArr){ if ( isNaN(SortrRecordArr[recordArr[key][2]]) ) {

我是新手,而且我的英语也不太好。我的问题是,我试图从数组构建一个对象表,但没有成功。目标是建立简单的发票脚本,但我卡住了。假设我有一个带有一些位置的数组:

recordArr=[值,带税值,税百分比]

我想构建一个对象数组,通过键“taxInPercent”对位置(value,valueWithTax)求和。我现在所做的是:

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?我不理解您试图获得的结果,但看起来您可能可以利用它。