You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JS对象数组中筛选各类型最高评分地点并打印名称坐标

实现方案

首先注意你提供的locaties数组里存在属性拼写错误:部分对象的坐标属性名写成了cordinaat(多了个r),如果是笔误可以先修正,下面的代码也会兼容这个拼写问题。
完整实现代码如下:

let locaties = [
    {naam: 'locatie1', type: 'cafe', rating: 8, coordinaat: {lat: 17, lon: 3},},
    {naam: 'locatie2', type: 'winkel', rating: 3, coordinaat: {lat: 23, lon: 9},},
    {naam: 'locatie3', type: 'Restaurant', rating: 7, coordinaat: {lat: 3, lon: 17},},
    {naam: 'locatie4', type: 'winkel', rating: 7, cordinaat: {lat: 20, lon: 10},},
    {naam: 'locatie5', type: 'cafe', rating: 1, coordinaat: {lat: 12, lon: 13},},
    {naam: 'locatie6', type: 'winkel', rating: 5, coordinaat: {lat: 13, lon: 2},},
    {naam: 'locatie7', type: 'Restaurant', rating: 6, coordinaat: {lat: 7, lon: 17},},
    {naam: 'locatie8', type: 'Restaurant', rating: 2, cordinaat: {lat: 3, lon: 15},},
    {naam: 'locatie9', type: 'cafe', rating: 4, coordinaat: {lat: 30, lon: 12},},
    {naam: 'locatie10', type: 'winkel', rating: 9, cordinaat: {lat: 27, lon: 19},},
];

// 初始化三类场所的最高评分记录,默认评分设为-1
const topPlaces = {
    cafe: { rating: -1 },
    winkel: { rating: -1 },
    Restaurant: { rating: -1 }
}

locaties.forEach(item => {
    const currentType = item.type;
    // 只处理目标三类场所
    if (!topPlaces.hasOwnProperty(currentType)) return;
    // 对比评分,更高就更新
    if (item.rating > topPlaces[currentType].rating) {
        topPlaces[currentType] = item;
    }
})

// 遍历输出结果
Object.values(topPlaces).forEach(place => {
    const coord = place.coordinaat || place.cordinaat;
    console.log(`名称:${place.naam}`);
    console.log(`坐标:lat ${coord.lat}, lon ${coord.lon}`);
    console.log('---')
})

输出结果

名称:locatie1
坐标:lat 17, lon 3
---
名称:locatie10
坐标:lat 27, lon 19
---
名称:locatie3
坐标:lat 3, lon 17
---

实现逻辑说明

  • 先定义存储三类最高评分场所的对象,初始评分设为-1确保有效评分的场所都能覆盖
  • 遍历原数组每一项,匹配到对应类型后和当前存储的最高评分对比,更高则替换
  • 输出时兼容坐标属性的拼写错误,两种属性名都能识别

内容的提问来源于stack exchange,提问作者Julie De Cuyper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:27:00