Javascript中的不同对象值

Javascript中的不同对象值,javascript,Javascript,如何使用Javascript区分相同的对象数据值?[ES15/ES16] 对于给定的数据值 [{Zone: "2"}, {Zone: "4"}, {Zone: "4"}, {Zone: "6"}, {Zone: "1"}, {Zone: "2"}, {Zone: "3"}, {Zone: "3"}, {Zone: "4"}, {Zone: "4"}] 在它将被分离之后,它将返回 [{Zone: "1"}, {Zone: "2"}, {Zone: "2"}, {Zone: "3"}, {

如何使用Javascript区分相同的对象数据值?[ES15/ES16]

对于给定的数据值

[{Zone: "2"},
{Zone: "4"},
{Zone: "4"},
{Zone: "6"},
{Zone: "1"},
{Zone: "2"},
{Zone: "3"},
{Zone: "3"},
{Zone: "4"},
{Zone: "4"}]
在它将被分离之后,它将返回

[{Zone: "1"},
 {Zone: "2"},
 {Zone: "2"},
 {Zone: "3"},
 {Zone: "4"},
 {Zone: "6"}]
一种可能的办法:

var arr=[{Zone:“2”},{Zone:“4”},{Zone:“4”},{Zone:“6”},{Zone:“1”},{Zone:“2”},{Zone:“3”},{Zone:“4”},{Zone:“4”}]
var resp=[…新集合(arr.map(({Zone})=>Zone))].sort().map(x=>({Zone:x}));
控制台日志(resp)

.as console wrapper{max height:100%!important;top:0;}
预期结果不是唯一的为什么有2个
{Zone:'2'}
?顺序对您重要吗?只要是不同的,就不需要。@guijob这是打字错误:)谢谢@guijob这很好:)最后一件事,先生,如果我得到一些额外的对象值怎么办。像{Zone:“2”,Assign:1}我如何也能返回“Assign:1”值?这取决于,对于每个
区域:2
,将
Assign:1
?不,它应该传递给每个与其相等的区域。如果对象具有相同的区域但分配不同,它将返回到
[{zone:2,assignnumber:[assign:1,assign:2]}]
。。。这就像重新创建新对象并将值传递给它。很抱歉,这已经超出了我的问题范围,但它确实可以帮助我理解对象的工作原理并对其进行操作。。非常感谢,先生:)
var lookup = {};
var items = [{Zone: "2"},
{Zone: "4"},
{Zone: "4"},
{Zone: "6"},
{Zone: "1"},
{Zone: "2"},
{Zone: "3"},
{Zone: "3"},
{Zone: "4"},
{Zone: "4"}];
var result = [];

for (var item, i = 0; item = items[i++];) {
  var zone = item.Zone;

  if (!(zone in lookup)) {
    lookup[zone] = 1;
    result.push(zone);
  }
}