我有一系列可编辑的列表,按按钮应该被转换成某种数据结构.当它已经变成某种数据时,我需要将重复项添加到一起.
例:
> 200g香蕉
> 100g苹果
> 200g苹果
应该变成某种数据列表,最终应该如下所示:
> 200g香蕉
> 300g苹果
这是我的尝试:
//button click event $(".calculate").bind("click",function(e) { //get the correct parent of the button var parent = $(this).closest("#calc"); //get relevant data parent.find(".options").each(function(index,element) { var opt1 = $(this).children(".opt1").children("input").val(); //weight var opt2 = $(this).children(".opt2").children("input").val(); //ingredient }); });
基本上我点击按钮,上面的脚本找到所有相关的数据.
如何将其转换为多维数组或可以搜索重复项的对象列表?
解决方法
我会建议你有一个包含摘要的全局对象,这将是这样的:
$(".calculate").bind("click",function(e) { var fruits = {}; //get the correct parent of the button var parent = $(this).closest("#calc"); //get relevant data parent.find(".options").each(function(index,element) { var opt1 = $(this).children(".opt1").children("input").val(); //weight var opt2 = $(this).children(".opt2").children("input").val(); //ingredient // here is my code if(fruits[opt2] == undefined) { fruits[opt2] = opt1; } else { // assuming that opt1 is an integer fruits[opt2] += opt1; } }); // use fruits variable here });