我有,问题是如何找到列表中列出的项目并执行某些操作。 我需要根据变量来做不同的事情。 我在其他for循环中尝试了for循环,但它只搜索每个数组的第一个元素。
Vagrant.configure("2") do |config|
config.vm.define "build" do |build|
build.vm.box = "centos/7"
build.vm.provider "virtualbox"
build.vm.hostname = "server-a"
build.vm.network "private_network", ip: "192.168.50.4"
end
config.vm.define "test" do |test|
test.vm.box = "centos/7"
test.vm.provider "virtualbox"
test.vm.hostname = "server"
test.vm.network "private_network", ip: "192.168.50.5"
end
end
名称变量由用户
定义答案 0 :(得分:4)
这是一个很简单的新功能:
var array1 = ['a', 'b', 'c'];
var array2 = ['d','e','f'];
var name = 'e';
// use && if it has to be in both arrays
// use || if it has to be in either of the arrays
if (array1.includes(name) || array2.includes(name)) {
// do fancy things!
}
你需要为互联网资源管理器提供一个polyfill:https://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
所以当你在依赖于哪个数组时必须做两个不同的动作时,它基本上是这样的:
if (array1.includes(name)) {
// do this
} else if (array2.includes(name)) {
// do this
}
答案 1 :(得分:2)
您可以在javascript中使用indexOf
方法。
var array1 = ['a', 'b', 'c'];
var array2 = ['d','e','f'];
var name = 'e';
if (array1.indexOf(name) != -1) {
//do something
} else if (array2.indexOf(name) != -1) {
//do something 2
} else {
console.log("error");
}
有关详细信息,请参阅here。
答案 2 :(得分:0)
以下是使用filter方法的解决方案:
var array1 = ['a', 'b', 'c'];
var array2 = ['d','e','f'];
var name = 'e';
var bothArraysContainName = (arrayOne, arrayTwo, name) => {
var resOne = arrayOne.filter( (val) => val === name)
var resTwo = arrayTwo.filter( (val) => val === name)
return resOne.length > 0 && resTwo.length > 0
}
console.log(bothArraysContainName(array1, array2, name));
答案 3 :(得分:0)
6
或,
PM> cd [migrations directory]
PM> Add-Migration -Name [version label] -Context [your context] -s [startup project]
结果现在是一个数组,可以为空或包含一个元素。 你可以对结果进行测试并做你的事情。
答案 4 :(得分:-1)
您可以使用[].indexOf()
像这样:
if(array1.indexOf(name) == -1){
if(array2.indexOf(name) == -1){
Console.log("not found");
} else { /*Found in array2*/ }
} else {
/*Found in array1*/
}