如何在对象中返回属性并按顺序排列它们?

问题描述 投票:0回答:1

给出这两个数组:

var amounts = [9, 1, 8, 16, 5, 1, 42]
var animals = ["ducks", "elephants", "pangolins", "zebras", "giraffes", "penguins", "llamas"]

我必须编写一个接受两个变量并返回组合字符串的函数。预期的输出是:

"9 ducks 1 elephants 8 pangolins 16 zebras 5 giraffes 1 penguins 42 llamas"

我创建了一个类似于预期字符串的对象。我现在需要按该顺序打印属性。

function animalsAmounts(arr1, arr2){
    let object = {};
    arr2.forEach((arr2, i) => object[arr2] = arr1[i]);
    return object
    let result = Object.keys(object).map(function(key) {
        return [Number(key), obj[key]];
    }); return result
}

console.log(animalsAmounts(amounts, animals))

它打印:

{ ducks: 9,
  elephants: 1,
  pangolins: 8,
  zebras: 16,
  giraffes: 5,
  penguins: 1,
  llamas: 42 }

我不知道如何以字符串形式返回预期结果。我尝试了各种方法来记录数量和动物,但是设法只返回了其中一个。

javascript arrays
1个回答
1
投票

animals.map((a, i) => `${amounts[i]} ${a}`).join(" ")

var amounts = [9, 1, 8, 16, 5, 1, 42]
var animals = ["ducks", "elephants", "pangolins", "zebras", "giraffes", "penguins", "llamas"]

console.log(animals.map((a, i) => `${amounts[i]} ${a}`).join(" "))
© www.soinside.com 2019 - 2024. All rights reserved.