Javascript 通过匹配对象数组';s属性和元素id';s位

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, 价值:“两个” },

我有一个对象数组列表,其属性是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,
价值:“两个”
},
]
};
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