我很好奇我是如何能够在函数中返回两个数组的。例如,假设我们有一系列国家和todo列表。
var countries = [
"Japan",
"USA"
]
var todo = [
"go to the park",
"drink amazing whiskey"
]
我希望答案出来的方法是在它循环之后我们会看到
"Japan I will go to the park"
"USA I will drink amazing whiskey"
我现在编写函数的方式是:
function myTrip(countries, todo){
var newArr = [];
for (var i = 0; i < countries.length; i++) {
newArr += countries[i]
}
for (var i = 0; i < todo.length; i++) {
newArr += todo[i]
}
return newArr
}
老实说,我不知道从哪里开始。我知道我需要将它们放在一个数组中,例如国家[i] +&#34;我会&#34; + todo [i]但我不确定如何做到这一点。我需要返回而不是newArr = + countries [i]吗?或者我的逻辑和代码完全错了?所有的帮助将不胜感激。
答案 0 :(得分:1)
如果todo
数组中的每个键都与countries
数组中的键相对应,那么您所要做的就是循环countries
数组,并在todo
数组上使用相同的键{1}}数组。
var countries = [
"Japan",
"USA",
"Sweden"
]
var todo = [
"go to the park",
"drink amazing whiskey"
]
for (var i = 0; i < countries.length; ++i) {
// If key is not found in the `todo` array, skip entry in loop.
if ( ! todo[i]) continue;
console.log(countries[i] + ' ' + todo[i]);
}
答案 1 :(得分:0)
如果您需要每个国家/地区的所有待办事项,那么您将使用嵌套循环:
var countries = [
"Japan",
"USA"
],
todo = [
"go to the park",
"drink amazing whiskey"
],
combined = [];
function myTrip(countries, todo){
var newArr = [];
countries.forEach(function(country) {
todo.forEach(function(todo) {
newArr.push(country + " I will " + todo);
})
});
return newArr;
}
combined = myTrip(countries, todo);
alert(combined);
答案 2 :(得分:0)
你可以这样做。循环遍历其中一个阵列&amp;添加两个数组中的内容。将这些结果保存在一个可以检索的单独数组中
var countries = [
"Japan",
"USA"
]
var todo = [
"go to the park",
"drink amazing whiskey"
]
var outputObj=[]
countries.forEach(function(item,index){
outputObj.push(countries[index] +' '+todo[index]);
})
console.log(outputObj)