var list = new Array(
new Array("HAV", "TWI", "DOG-20::WHCH-2::WCBD-2"),
new Array("TWI", "HAV", "DOG-20::WHCH-2::WCBD-2")
);
<SELECT NAME="DESTINATION">
<OPTION VALUE="HAV">HAV</OPTION>
<OPTION VALUE="TWI">TWI</OPTION>
</SELECT>
<SELECT NAME="DESTINATION2">
<OPTION VALUE="TWI">TWI</OPTION>
<OPTION VALUE="HAV">HAV</OPTION>
</SELECT>
嘿,我怎样才能获得这个数组中某些东西的价值?
如果2个选项设置为“HAV”和“TWI”,我希望得到一个值。
即输入为HAV且TWI获得DOG值
答案 0 :(得分:1)
var list = new Array(
new Array("HAV", "TWI", "DOG-20::WHCH-2::WCBD-2"),
new Array("TWI", "HAV", "DOG-20::WHCH-2::WCBD-2")
);
function checkDestinations(from, to, name) {
for (var i = 0, len = list.length; i < len; i += 1) {
if (list[i][0] === from && list[i][1] === to) {
for (var dataByName = list[i][2].split("::"), j = 0; j < dataByName.length; j += 1) {
var data = dataByName[j].split("-");
if (data[0] === name) {
return data[1];
}
}
}
}
return null;
}
console.log(checkDestinations("HAV", "TWI", "DOG"));
console.log(checkDestinations("HAV", "TWI", "WHCH"));
console.log(checkDestinations("HAV", "TWI", "WCBD"));
<强>输出强>
20
2
2
答案 1 :(得分:0)
var list = new Array(
new Array("HAV", "TWI", "DOG-20::WHCH-2::WCBD-2"),
new Array("TWI", "HAV", "DOG-30::WHCH-2::WCBD-2")
);
function getDog(p1, p2) {
for (var i = 0, l = list.length; i < l; i++) {
if (list[i][0] === p1 && list[i][1] === p2) {
return /^DOG-([0-9]+)::WHCH-[0-9]+::WCBD-[0-9]+$/.exec(list[i][2])[1];
}
}
}
var dog = getDog('HAV', 'TWI'); // 20
var dog1 = getDog('TWI', 'HAV'); // 30
您可以更进一步使用第三个参数作为查询来获取其他值:
var list = new Array(
new Array("HAV", "TWI", "DOG-20::WHCH-4::WCBD-7"),
new Array("TWI", "HAV", "DOG-30::WHCH-5::WCBD-6")
);
function getValue(p1, p2, query) {
for (var i = 0, l = list.length; i < l; i++) {
if (list[i][0] === p1 && list[i][1] === p2) {
var regex = new RegExp(query.toUpperCase() + '-([0-9]+)');
return regex.exec(list[i][2])[1];
}
}
}
var dog = getDog('HAV', 'TWI', 'DOG'); // 20
var whch = getDog('HAV', 'TWI', 'WHCH'); // 4
答案 2 :(得分:0)
首先为您的选择框提供ID
<强> HTML 强>
<SELECT NAME="DESTINATION" id="DESTINATION">
<OPTION VALUE="HAV">HAV</OPTION>
<OPTION VALUE="TWI">TWI</OPTION>
</SELECT>
<SELECT NAME="DESTINATION2" id="DESTINATION2">
<OPTION VALUE="TWI">TWI</OPTION>
<OPTION VALUE="HAV">HAV</OPTION>
</SELECT>
<强>的javascript 强>
for(var i =0;i <list .length ;i++)
{
var dogs = list[i];
var dest = document.getElementById("DESTINATION").value;
var dest2 = document.getElementById("DESTINATION2").value;
if(dogs [0] == dest && dogs [1] == dest2 )
{
return dogs[2];
}
}
这将返回DOG-20 :: WHCH-2 :: WCBD-2;