- 迭代并将它们推到一个数组
- 如果项目名称在数组中的对象的name属性已经一致,只是增加它的数据到该对象。
我试着寻找几个不同的答案,但最终与控制台错误或覆盖我现有的数据。推新值数组,如果属性相匹配,通过HTML项目
var item = {};
var items = [];
$('li').each(function() {
var itemName = $(this).find('.name').text();
var itemData = $(this).find('.data').text();
//for(var i = 0, lens = items.length; i < 1; i++) {
// if(items[i].name === itemName) {
// ?
// }
//}
item = {
name: itemName,
data: itemData
}
items.push(item);
});
<li>
<span class="name">Item 1</span>
<span class="data">3</span>
</li>
<li>
<span class="name">Item 1</span>
<span class="data">6</span>
</li>
<li>
<span class="name">Item 1</span>
<span class="data">9</span>
</li>
<li>
<span class="name">Item 2</span>
<span class="data">3</span>
</li>
<li>
<span class="name">Item 2</span>
<span class="data">6</span>
</li>
你必须将jQuery添加到您的网页'$'函数不是JavaScript的。并添加jQuery的标签也请 –
@MarioAlexandroSantini谢谢。这只是一个例子。 – TheEks
如果你想有现有的数据并添加新的数据,那么它听起来像数据应该是一个数组(或其他容器类型)。然后你只是项目[我] .data.push(newdata)。 – nurdyguy