Javascript 通过匹配对象数组';s属性和元素id';s位
我有一个对象数组列表,其属性是id和value。基本上我想要的是,Javascript 通过匹配对象数组';s属性和元素id';s位,javascript,Javascript,我有一个对象数组列表,其属性是id和value。基本上我想要的是,num.items[I].value应该成对地放在每个div中一:一等等。 如果num.items[i].id没有数字(就像数组不包含id 3),则id=“digital_3”应保留为空 HTML 我知道我们无法比较id数字,但非常感谢对HTML的任何修改。这非常简单-您只需了解数组和对象: var num={ 项目:[{ id:4, 价值:“四” }, { id:1, 价值:“一” }, { id:2, 价值:“两个” },
num.items[I].value
应该成对地放在每个div中<代码>一:一等等。
如果num.items[i].id
没有数字(就像数组不包含id 3),则id=“digital_3”
应保留为空
HTML
我知道我们无法比较id数字,但非常感谢对HTML的任何修改。这非常简单-您只需了解数组和对象:
var num={
项目:[{
id:4,
价值:“四”
},
{
id:1,
价值:“一”
},
{
id:2,
价值:“两个”
},
]
};
var cleanablelements=document.queryselectoral(“ul li div”);
对于(var i=0;i
- 一:
- 二:
- 三:
- 四:
您应该循环ul li div
,然后检查id是否在num.items
中。
假设您的id格式为数字*
var num={
项目:[
{id:4,值:“四”},
{id:1,值:“一”},
{id:2,值:“2”},
]
}
函数检查项(num){
items=document.queryselectoral(“#target#u div li div”)
索引=num.items.reduce((前、后)=>{
前[cur.id]=当前值
返回前
},{}//loop num.items然后创建一个key=id的dict。
forEach(函数(item){//loop ul li div,然后检查dict中的id是否=索引。
设id=item.id.split(“”)
if(索引中的ID[1]{
item.innerHTML+='@Found:'+item.id
}否则{
item.innerHTML=“”
}
})
}
检查项目(数量)
- 一:s
- 二:sd
- 三:自卫队
- 四:自卫队
我知道我做了一些尴尬的事情,但如果div已经有了一些值,那么上面的示例将不起作用,我想除了@sphinx answer之外
var num={
项目:[{
id:4,
价值:“四”
},
{
id:1,
价值:“一”
},
{
id:2,
价值:“两个”
},
]
};
var idsArray=[];
var值ray=[];
for(num.items的var值){
idsrarray.push(value.id);
值ray.push(value.value);
}
var maxId=Math.max(…idsArray);
对于(var i=1;i
<ul>
<li>One: <div id="digit_1">s</div></li>
<li>Two: <div id="digit_2">sd</div></li>
<li>Three: <div id="digit_3">sdf</div></li>
<li>Four: <div id="digit_4">sdf</div></li>
</ul>
var num = {
items: [
{ id:4, value:"four"},
{ id:1, value:"one"},
{ id:2, value:"two"},
]
};
for(var i=0; i<num.items.length; i++){
document.getElementById("digit_"+i+1).innerHTML = i+1;
console.log(i+1)
}
One: one
Two: two
Three:
Four: four