如何将一个对象从一个对象发送到另一个对象?

时间:2019-09-05 17:06:44

标签: javascript

我有一个列表,其中包含一些城市,并且开头有一个空对象。我需要将名为“最佳城市”的空对象设置为包含马德里的对象,如下所示。它也应该在里面按住马德里钥匙。我尝试过bestCity = cities.madrid,但是我用这种方法丢失了马德里密钥。我不知道该怎么做。谢谢。

cities: {
  madrid: {
    sunny: "yes",
    capital: "yes" 
  },
  london: {
    sunny: "no",
    capital: "yes"
  },
  miami: {
    sunny: "yes",
    capital: "no"
  },
  hamburg: {
    sunny: "no",
    capital: "no",
  }
}


开头的空对象:

bestCity: {}

最佳城市应该如下。

bestCity: {
  madrid: {
    sunny: "yes",
    capital: "yes"
  }
}

4 个答案:

答案 0 :(得分:3)

您可以使用destructuring提取madrid,然后用它创建一个对象:

const cities = {
  madrid: {
    sunny: "yes",
    capital: "yes" 
  },
  london: {
    sunny: "no",
    capital: "yes"
  },
  miami: {
    sunny: "yes",
    capital: "no"
  },
  hamburg: {
    sunny: "no",
    capital: "no",
  }
}

const { madrid } = cities ;

const bestCity = { madrid };

console.log( bestCity );

答案 1 :(得分:1)

像这样?假设您实际上想选择一个好的城市,而不仅仅是复制硬编码的城市

const cities = { 
  madrid:  { sunny: "yes", capital: "yes" },
  london:  { sunny: "no",  capital: "yes" },
  miami:   { sunny: "yes", capital: "no"  },
  hamburg: { sunny: "no",  capital: "no", }
}

let bestCity = {};
Object.keys(cities).forEach(k => {
  const city = cities[k];
  if (city.sunny === "yes" && city.capital === "yes") bestCity[k]=city;
})
console.log(bestCity)

答案 2 :(得分:0)

您可以使用cities.madrid访问madrid内部的cities对象。然后,您可以为它分配一个特定的变量/对象值,如下所示:

bestCities = {}
bestCities.madrid = cities.madrid;

答案 3 :(得分:0)

bestCity.madrid = cities.madrid;
相关问题