gpt4 book ai didi

javascript - 如何对多个数组中给出的输入进行分组,这些数组看起来像 [key1, "value1", key2, "value2", ...]?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:29 24 4
gpt4 key购买 nike

我几天前遇到了这个问题,令人惊讶的是它给我的逻辑思维带来了很多问题。

我们有三个简单的数组:

var countries = [1, "DK", 2, "USA", 3, "Sweden"];
var languages = [2, "English", 1, "Danish", 3, "Swedish"];
var population = [3, 8000000, 1, 6000000, 2, 3000000000];

控制台日志中的输出应该是这样的:

// In USA people speak English and there live 300000000 people
// In DK people speak Danish and there live 6000000 people
// In Sweden people speak Swedish and there live 8000000 people

现在有人告诉我它可以用 for 循环解决,但我一直卡在如何获取数字的位置然后保存这些数字以便我可以从其他两个数组中选择它们。

它必须是动态的,所以如果我向数组添加更多元素,它会自动生成像我上面提到的三个句子。

这是我从老师那里得到的,所以输入数组必须保持这样。每个数字后面都有一个按升序排列的字符串,这就是我们必须弄清楚的模式,所以它看起来像我上面评论的文本。

最佳答案

你的问题是奇怪的数据结构。将其转换为您可以使用的东西:

var countries = [1, "DK", 2, "USA", 3, "Sweden"];
var languages = [2, "English", 1, "Danish", 3, "Swedish"];
var population = [3, 8000000, 1, 6000000, 2, 3000000000];

var data = {};

function addArray(key, ary) {

for (var i = 0; i < ary.length; i += 2) {
var j = ary[i];
data[j] = data[j] || {};
data[j][key] = ary[i + 1];
}
}

addArray('country', countries);
addArray('language', languages);
addArray('population', population);

document.write("<pre>" + JSON.stringify(data,0,3));

如何从此对象获取输出应该是显而易见的。

关于javascript - 如何对多个数组中给出的输入进行分组,这些数组看起来像 [key1, "value1", key2, "value2", ...]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32265662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com