我有一个下拉列表的数字,我打算用来跟踪我的里程。我想在数字后面加上文字‘英里’,但如果数字是1,我想添加‘英里’。
单位=英里arrayOfArrays = 0,1,2,3,4,5,6,7,8
这是我的剧本
function showQtyNumbers(el, arrayOfArrays, unit) {
alert(arrayOfArrays);
el.innerHTML = '';
arrayOfArrays.forEach(function(r) {
var option = document.createElement('option');
option.setAttribute('value', r);
option.text = r + ' ' + unit;
el.appendChild(option);
});
}这给了我结果:0英里,1英里,2英里等等。
我试过以下几种方法,但不起作用。
function showQtyNumbers(el, arrayOfArrays, unit) {
number1 = arrayOfArrays.find(e => e === 1)
el.innerHTML = '';
arrayOfArrays.forEach(function(r) {
var option = document.createElement('option');
if (r.find(e => e === 1)) {
r + unit.substring(0, unit.length - 1)
} else {
option.text = r + unit;
};
option.setAttribute('value', r);
el.appendChild(option);
});
}我知道arrayOfArrays.find(e => e === 1)找到了1,但我不知道如何在forEach中实现。
发布于 2022-02-22 13:19:11
为什么不把单位的值作为单数传递给函数,如果值不是1,就追加a 's‘?如下所示:
if(r!=1){ option.text = r + unit +"s"; }else{ option.text = r + unit; }https://stackoverflow.com/questions/71221944
复制相似问题