Jquery JavaScript创建动态二维数组

Jquery JavaScript创建动态二维数组,javascript,jquery,multidimensional-array,Javascript,Jquery,Multidimensional Array,嗨,我看到有很多例子,但没有一个能解释我需要做什么 我想创建项目并将其添加到二维数组中,并动态排序 我一直在玩弄的一些代码: var Amount = new Array(new Array()); //MULTI ARRAY var a = 0; //COUNTER $("input[id^='AmountSpent']").each(function(){ Amount[a][a] = [a, $(this).val()]; //THIS IS WHERE I GET STUCK

嗨,我看到有很多例子,但没有一个能解释我需要做什么

我想创建项目并将其添加到二维数组中,并动态排序

我一直在玩弄的一些代码:

var Amount = new Array(new Array());  //MULTI ARRAY
var a = 0; //COUNTER

$("input[id^='AmountSpent']").each(function(){
    Amount[a][a] = [a, $(this).val()]; //THIS IS WHERE I GET STUCK... HOW TO ASSIGN VALUES
    a = a + 1;
});
然后我想对数组进行排序

因此,如果数组如下所示:

Amount = [[1,2,3,4],[$200,$300,$100,$600]]
我想先对最高金额排序:
600美元、300美元、200美元、100美元

谁能帮帮我吗


U p D A T E


使用Rory提供的代码(非常感谢),我正在执行以下操作:

var amounts = [];    
$("input[id^='AmountSpent']").each(function(i, el){
  amounts.push({ index: i + 1, value: $(el).val() });
});
amounts.sort(function(a, b) {
  if(a.value < b.value) return 1;
  if(a.value > b.value) return -1;
  return 0;
});
var金额=[];
$(“输入[id^='amountspeed'])。每个(函数(i,el){
push({索引:i+1,值:$(el).val()});
});
金额.排序(函数(a,b){
如果(a.valueb.value)返回-1;
返回0;
});
要在我正在执行的阵列中循环,请执行以下操作:

for (ii = 0; ii < amounts.length; ++ii) {
console.log(amounts[ii].index + " - " +  amounts[ii]); // 
 }
for(ii=0;ii
我得到的结果是:

1-[对象]
2-[对象]

3-[object object]

对于这一点,多维数组可能有点过头了。就个人而言,我会使用一个对象数组——假设您需要存储索引

var amounts = [];    
$(".foo").each(function(i, el){
    amounts.push({ index: i + 1, value: $(el).val() });
});

amounts.sort(function(a, b) {
    if(a.value < b.value) return 1;
    if(a.value > b.value) return -1;
    return 0;
});

如果有一个特殊的原因,你需要它是一个二维数组?为什么不是一个包含两组信息的对象数组呢?我需要做的是在数组中有一个值,比如a=$900,我想得到组成$900的最高值的总和,所以基本上我想得到索引/id的[4,3]用于另一个计算。谢谢你,现在就来试试吧!你可能是对的,但我不是一个硬核程序员,只是在我正在做的一个小项目中遇到了这个问题。我需要做的是,我在数组中有一个值,比如a=$900,我想得到组成$900的最高值的总和,所以基本上我想得到索引/id的[4,3]用于另一个计算。当我想循环数组时,我得到一个[object]错误@RoryMcCrossan@Nev我已经更新了我的答案,向您展示了如何从循环中获取值
for (ii = 0; ii < amounts.length; ++ii) {
    console.log(amounts[ii].index + " - " +  amounts[ii].value);
}