Javascript 两个数组之间的匹配值必须将选项HTML设置为disabled
我是javascript新手。我有2个数组,如何匹配它们并返回HTML。如果两个数组中有匹配的值,则禁用“选择”选项。 例如:Javascript 两个数组之间的匹配值必须将选项HTML设置为disabled,javascript,html,select,option,Javascript,Html,Select,Option,我是javascript新手。我有2个数组,如何匹配它们并返回HTML。如果两个数组中有匹配的值,则禁用“选择”选项。 例如: var array1 = ["8:00AM", "9:00AM", "10:00AM","11:00AM",] var array2 = ["11:00AM", "11:00AM", "3:00PM"] array1.map((el, i) => <option key={i} disabled ={ el.includes(array2) ? true:
var array1 = ["8:00AM", "9:00AM", "10:00AM","11:00AM",]
var array2 = ["11:00AM", "11:00AM", "3:00PM"]
array1.map((el, i) => <option key={i} disabled ={
el.includes(array2) ? true: false
}>{el}</option>))
var array1=[“8:00AM”、“9:00AM”、“10:00AM”、“11:00AM”,]
var array2=[“上午11:00”、“上午11:00”、“下午3:00”]
数组1.map((el,i)=>{el}))
我希望发生的是,如果两个数组之间有匹配的值,在本例中为“11:00AM”,它将返回:
<option> 8:00AM</option>
<option> 9:00AM</option>
<option> 10:00AM</option>
<option disabled = {true} > 11:00AM</option>
<option> 12:00PM</option>
8:00AM
上午9点
上午10:00
上午11:00
下午12:00
像这样的。使用我当前的方法是否可以执行此操作?您可以使用
indexOf
并检查值是否存在,请尝试下面的代码
array1.map((el, i) => <option key={i} disabled={
array2.indexOf(el) > -1 ? true : false
}>{el}</option>)
array1.map((el,i)=>-1?真:假
}>{el})
的语法是
arr.includes(valueToFind[, fromIndex])
此外,您还可以按如下方式使用:
var array1=[“8:00AM”、“9:00AM”、“10:00AM”、“11:00AM”,]
var array2=[“上午11:00”、“上午11:00”、“下午3:00”]
常量元素=document.querySelector('select');
element.innerHTML=array1.map((el,i)=>
`${el}`
).加入(“”)代码>
很高兴它很有用:)