【发布时间】:2020-04-20 18:26:40
【问题描述】:
我有一个文本字段,用户可以在其中输入值,然后按钮的on click 将值推送到数组中。我要测试的值是uniqueID。因此,假设用户输入了多个值,包括逗号或空格,其中一个与现有数组中的 uniqueId 匹配。然后我收到警报。
我尝试使用some,但效果不佳。不知道我做错了什么。
这是一个示例pen
new Vue({
el: "#app",
data() {
return {
myArray: [{
title: "Sam",
age: 36,
uniqueId: "GHTR435"
},
{
title: "Max",
age: 44,
uniqueId: "MLKT432"
}
],
inputField: "",
inputArray: []
};
},
methods: {
createArray() {
if (this.myArray.some((el) => el.uniqueID === this.inputField)) {
alert("Heyy!!!!");
} else {
this.inputArray.push(this.inputField.trim().replace(/, +/g, ","));
console.log(this.inputArray);
}
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.css" rel="stylesheet" />
<div id="app">
<v-app id="inspire">
<v-container>
<v-layout justify-center>
<v-flex xs6>
<v-text-field solo v-model="inputField"></v-text-field>
<v-btn @click="createArray">Click Me</v-btn>
</v-flex>
</v-layout>
</v-container>
</v-app>
</div>
任何帮助将不胜感激。谢谢你。
【问题讨论】:
-
if (this.myArray.some((el) => this.inputField.split(/[, ]/g).includes(el.uniqueID))
标签: javascript arrays vue.js