Javascript 如何区分对象列表

Javascript 如何区分对象列表,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,因为我找不到任何解决方案,有没有办法做到这一点 我有一个包含对象的数组,数组中的每个对象都有一个x和y位置以及一个文本字段,如下所示: [{x: 100, y: 100, text: "hello"}, {x: 100, y: 100, text: "this is another message"}, {x: 50, y: 25, text: "message on another place"}] 现在我尝试获取一个新的对象列表,其中每个位置都是唯一的,所有消息都将是一个新的文本数组

因为我找不到任何解决方案,有没有办法做到这一点

我有一个包含对象的数组,数组中的每个对象都有一个x和y位置以及一个文本字段,如下所示:

[{x: 100, y: 100, text: "hello"},
 {x: 100, y: 100, text: "this is another message"},
 {x: 50, y: 25, text: "message on another place"}] 
现在我尝试获取一个新的对象列表,其中每个位置都是唯一的,所有消息都将是一个新的文本数组

因此,我试图得到一个最终列表,如:

[{x: 100, y: 100, text: ["hello", "this is another message"]},
 {x: 50, y: 25, text: [message on another place]}]

我尝试了在互联网上找到的几种方法,但没有成功

您可以使用
reduce
将数组分组到一个对象中,使用x和y的串联值作为键。使用
Object.values
将对象转换为数组

let arr=[{“x”:100,“y”:100,“text”:“hello”},{“x”:100,“y”:100,“text”:“这是另一条消息”},{“x”:50,“y”:25,“text”:“另一个地方的消息”}]
让result=Object.values(arr.reduce((c,{x,y,text})=>{
设k=x+'.'+y;
c[k]=c[k]|{x,y,text:[]};
c[k].text.push(文本);
返回c;
}, {}));

控制台日志(结果)您到底尝试了什么?在您的最终结果中,内部对象的语法无效。请访问,查看和。做一些研究,搜索相关话题等;如果您遇到问题,请发布您的尝试,注意输入和预期输出。@laruiss的典型用法我尝试使用新对象创建一个新列表,如果x,如果不创建新对象,y位置已经存在,否则要追加,但如何追加。感谢这个答案,我不知道我做错了什么。很高兴提供帮助:)如果需要,可以发布代码。我可以帮你查一下。