我正在嘗試設定一個 Vue 演示,以防止用戶在陣列中輸入重復項。具有以下文本欄位和按鈕的輸入值:
<div>
<input v-model="numberValue" type="number" />
</div>
<div>
<button @click="submit" type="submit">Submit</button>
</div>
推numberValue.value入numArray陣列后,我然后for回圈遍歷 numArray 中的專案。然后,我indexOf在條件中使用該方法來檢查 newArray 中陣列項的出現。如果 newArray 中不存在陣列項,則將它們推送到 newArray 中。
const submit = () => {
numArray.value.push(numberValue.value)
newArray.value = [];
for (let i = 0; i < numArray.value.length; i ) {
if(newArray.value.indexOf(numArray.value[i]) === -1) {
newArray.value.push(numArray.value[i]);
console.log(newArray.value)
} else if (newArray.value.indexOf(numArray.value[i]) !== -1) {
window.alert('No Duplicates Allowed!')
}
}
}
else if然后,當用戶嘗試輸入重復的陣列項時,我嘗試設定一個針對實體的陳述句。在 else if 中,我添加了一個 window.alert 以在輸入重復項時提醒用戶。輸入副本后,我看到了警報。然后我會看到所有后續輸入的警報,即使是不重復的輸入。如何正確設定 else if 陳述句以定位重復項并觸發警報?
uj5u.com熱心網友回復:
您可以使用 javascript 集。
Set 物件是值的集合。您可以按插入順序遍歷集合的元素。Set 中的一個值只能出現一次;它在 Set 的系列中是獨一無二的。
uj5u.com熱心網友回復:
代替 for 回圈使用 javascript 過濾器選項來檢查元素是否已經存在。這樣您就可以限制用戶進行重復條目。
uj5u.com熱心網友回復:
newArray.value = [...新設定 [numArray?.value]]
uj5u.com熱心網友回復:
在將任何值推入您的陣列之前,我會驗證正在添加的“值”是否已經在陣列中。
var existingValue = numArray.find(item => item === numberValue.value)
if (existingValue) {
window.alert('No Duplicates Allowed!');
return;
}
numArray.value.push(numberValue.value);
如果該值不存在,那么我們可以繼續推入陣列
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/476885.html
標籤:javascript Vue.js for循环 Vuejs3 指数
下一篇:如何根據平均值顯示星級?
