为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

江户川乱折腾 2021-11-18 19:59:14
鉴于这两个数组: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 }我不知道如何将预期结果作为字符串返回。我尝试了各种方法来记录数量和动物,但只能返回一种或另一种。
查看完整描述

2 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

Array.prototype.join()从数组的项目中创建一个字符串,将它们与您选择的任何内容连接起来。


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(" "))


查看完整回答
反对 回复 2021-11-18
?
慕森卡

TA贡献1806条经验 获得超8个赞

您可以对同一索引处的任意数组和映射值采用动态方法,然后再连接到单个字符串。


var amounts = [9, 1, 8, 16, 5, 1, 42]

var animals = ["ducks", "elephants", "pangolins", "zebras", "giraffes", "penguins", "llamas"],

    result = [amounts, animals]

        .reduce((r, a) => a.map((v, i) => (r[i] ? r[i] + ' ' : '') + v), [])

        .join(' ');


console.log(result);


查看完整回答
反对 回复 2021-11-18
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信