javascript - 检查输入是否相同(多个条件)javascript数组
问题描述
我需要搜索每个标签的值,如果用户输入与值的任何数字相同,则任何数字都与用户输入匹配,它显示标签,下面的代码用于显示结果,如果输入匹配两个数字之间的范围,我不想
var testArray = [{
"label": "Nordea",
"value": ["77038-3532 - 19428 - 18073 - 08028 - 07058 - 07936 - 77038 - 3532 "]
}, {
"label": "Swedbank",
"value": ["77038-3532 - 19428 - 18073 - 08028 - 07058 - 07936 - 77038 - 3532 "]
}, {
"label": "Sparbanken Nord",
"value": "8264"
}, {
"label": "Sparbanken i Enköping",
"value": ["7121-7122", "8305-5"]
}];
function findTestObject(input) {
return testArray.find(function (testObj) {
var value = testObj.value;
if (Array.isArray(value)) {
return value.some(function (range) {
var rangeData = range.split('-');
return parseInt(rangeData[0]) <= input && input <= parseInt(rangeData[1]);
});
} else {
return value === input;
}
});
}
function test() {
var userInput = document.getElementById("input").value;
var result = findTestObject(userInput);
var label = result ? result.label : 'Not Found';
document.getElementById("result").innerHTML = label;
}
<input id="input" placeholder="Enter something..."/>
<button onclick="test()">Test</button>
<br />
Result: <div id="result"></div>
解决方案
如果我正确理解了您的问题,那么这应该是您正在寻找的内容:
var testArray = [{
"label": "Nordea",
"value": ["77038-3532 - 19428 - 18073 - 08028 - 07058 - 07936 - 77038 - 3532 "]
}, {
"label": "Swedbank",
"value": ["77038-3532 - 19428 - 18073 - 08028 - 07058 - 07936 - 77038 - 3532 "]
}, {
"label": "Sparbanken Nord",
"value": "8264"
}, {
"label": "Sparbanken i Enköping",
"value": ["7121-7122", "8305-5"]
}];
function findTestObject(input) {
return testArray.find(function (testObj) {
var value = testObj.value;
if (Array.isArray(value)) {
return value.some(function (range) {
return parseInt(range === input);
});
} else {
return value === input;
}
});
}
function test() {
var userInput = document.getElementById("input").value;
var result = findTestObject(userInput);
var label = result ? result.label : 'Not Found';
document.getElementById("result").innerHTML = label;
}
<input id="input" placeholder="Enter something..."/>
<button onclick="test()">Test</button>
<br />
Result: <div id="result"></div>
推荐阅读
- excel - 从每个数据验证输出中复制行
- android - 无法为 org.gradle.api.Project 类型的项目“:app”上的参数找到方法 dataBinding()
- javascript - 火星探测器卡塔。可以转弯或前进
- batch-file - 批处理文件如何在循环中回显系列变量的值
- date - 根据 Tableau 中的 ISO 格式,周数每月从 1 重新开始
- javascript - Jquery 搜索多个变量 - bigcommerce 商店结帐
- php - 在彼此中使用两个不同的类作为依赖项是不好的做法吗?
- python - 处理makefile对python数据分析所做的最先进的方法是什么?
- java - 堆栈高度不一致 1 !=2
- excel - 在 VBA 函数中引用另一个 excel 选项卡