gpt4 book ai didi

javascript - Jquery JavaScript 创建动态二维数组

转载 作者:行者123 更新时间:2023-11-30 13:12:23 25 4
gpt4 key购买 nike

您好,我看到有很多示例,但没有一个说明我需要做什么。

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

我一直在搞乱的一些代码:

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 美元

谁能帮帮我。


更新日期


使用我从 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;
});

要遍历我正在做的数组:

for (ii = 0; ii < amounts.length; ++ii) {
console.log(amounts[ii].index + " - " + amounts[ii]); //
}

我得到的结果是:

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

最佳答案

为此,多维数组可能有点矫枉过正。就我个人而言,我会使用一个对象数组 - 假设您完全需要存储索引。

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;
});

Example fiddle


更新

你的循环代码没有访问 value 属性,试试这个:

for (ii = 0; ii < amounts.length; ++ii) {
console.log(amounts[ii].index + " - " + amounts[ii].value);
}

关于javascript - Jquery JavaScript 创建动态二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13419419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com