如果value == 1,则获取数组中的下一个值
If value == 1 then get the next value in the array
var countries = [1,"DK",2,"USA",3,"Sweden",];
var languages = [2,"EN",3,"Swedish",1,"Danish"];
var population = [2,"300000000",1,"6000000",3,"8000000"];
在javascript中,是否有一种方法来查找数组中的值,例如,如果值为1,则取数组中的下一个值。这里是DK
, Danish
和6000000
。
我有这个,但我认为它应该是一种更简单的方法
for(var i = 1 ; i < countries.length; i = i+2){
var countryName = countries[i];
var countryId = countries[i-1];
for(var j = 0; j < languages.length; j = j+2){
if(languages[j] == countryId){
var positionSpokenLanguage = j + 1;
var spokenLanguage = languages[positionSpokenLanguage];
}
if(population[j] == countryId){
var positionPopulation = j + 1;
var totalPopulation = population[positionPopulation];
}
}
var message = "In "+countryName+" people speak "+spokenLanguage+
" and there are "+totalPopulation+" inhabitatns";
console.log(message);
}
由于您实际上是在数组中的每个其他项中查找值,因此没有内置的方法。
如果你知道值在数组中,你可以循环直到找到它:
var index = 0;
while (countries[index] != 1) index += 2;
var value = countries[index + 1];
您的数据有一个不直观的格式,这使得它有点尴尬的工作。如果可能的话,您应该使用不将键与值混合的数据格式,例如对象:
var countries = { 1: "DK", 2: "USA", 3: "Sweden" };
然后你可以使用键:
获取值var value = countries[1];
相关文章:
- 如何在不使用jQuery的情况下设置数组以获取单选按钮值
- 如何在不赋值数组变量的情况下读取数组数据
- 在不触发弹出过滤器的情况下打开数组中的链接
- 为什么不't AngularJS希望在值重复的情况下列出数组项
- jQuery:如何在不使用每个循环的情况下显示数组的第一个元素
- 如何在选中数组复选框的情况下获取数组文本框的验证
- 在没有 Math.min 的情况下查找数组中的最小值
- Ember.js如何在没有 ember 数据的情况下从数组控制器中删除对象
- 在不使用排序的情况下查找数组中的第 n 个最大数字
- 如何在不使用索引器(javascript)的情况下访问数组的元素
- 如何在不使用JQuery的情况下查看数组是否包含对象
- 在mongoDb中,如果字符串输入与任何数组元素匹配,如何获取整个记录(在这种情况下,数组是记录的属性)
- 可以't从angular translate获得$translate服务以更改ngDropdowns的下拉数组
- 如何在不使用javascript迭代的情况下找到数组中对象的索引
- 在JavaScript中,有没有一种方法可以在不传递整个数组的情况下将数组的元素传递给函数?
- 选择下一个列表组并更改数据状态
- Angular指令-选择下拉数组或对象模型
- 使用不变性助手更新React状态下的数组对象
- 下划线数组推导式
- 如何移动所有的零值与LoDash/下划线数组的结束