【发布时间】:2017-03-04 07:29:14
【问题描述】:
我有 JavaScript 函数,它遍历 span 集合并动态创建一个对象。
<div id="container">
<span class="property" data-propetyname="Day" data-propertyvalue="10"></span>
<span class="property" data-propetyname="Year" data-propertyvalue="2015"></span>
<span class="property" data-propetyname="Year" data-propertyvalue="2016"></span>
<span class="property" data-propetyname="Month" data-propertyvalue="12"></span>
</div>
$(function ()
{
function getData() {
var data = {};
$('#container').find('.property').each(function (index, value) {
var property = $(value);
var name = property.data('propetyname');
var val = property.data('propertyvalue');
data[name] = val;
})
return data;
}
})
在上面的代码中,如果该属性已经存在于对象上,那么它会覆盖该值。我想要的是,如果属性已经存在,那么它应该将属性的类型转换为数组并将值推入其中。例如,在上述场景中,Year 属性应转换为具有两个值 2015 和 2016 的数组。
【问题讨论】:
标签: javascript jquery arrays javascript-objects