Javascript 来自输入的jQuery对象数组
我有一些数据属性和值的输入。我想获取key和value的数据属性,以便从输入中获取值。如果该值重复,则仅记录一次 这是我的演示 我想要的结果应该是这样的:Javascript 来自输入的jQuery对象数组,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一些数据属性和值的输入。我想获取key和value的数据属性,以便从输入中获取值。如果该值重复,则仅记录一次 这是我的演示 我想要的结果应该是这样的: "A_1_1": {1, 2, 3}, "A_1_2": {4, 5, 6} 如果有人给我建议如何做,我将不胜感激。谢谢。每次循环找到另一个元素时,您都会覆盖第一个数据集 var datasets = {}; $('.project').each(function(index, value) { catName = $(this).
"A_1_1": {1, 2, 3},
"A_1_2": {4, 5, 6}
如果有人给我建议如何做,我将不胜感激。谢谢。每次循环找到另一个元素时,您都会覆盖第一个数据集
var datasets = {};
$('.project').each(function(index, value) {
catName = $(this).data("prefix");
datasets[catName] = datasets[catName] || {
label : catName,
data: []
};
datasets[catName].data.push($(this).val());
});
console.log(datasets);
如果您不想两次使用1
(将它们视为不同的集合),可以将push
调用包含在此If语句中:
if (datasets[catName].data.indexOf($(this).val()) === -1) {
您需要使用2个循环。第一个用于创建数据集,第二个用于推送数据:
$('.project').each(function(index, value) {
catName = $(this).data("prefix");
if(!$.contains(datasets,catName)){
datasets[catName] = {
label : catName,
data: []
};
}
});
$('.project').each(function(index, value) {
catName = $(this).data("prefix");
datasets[catName].data.push($(this).val());
});
console.log(datasets);
请在问题中包含相关代码。链接到小提琴是有用的,但还不够。