gpt4 book ai didi

javascript - 检查 "undefined"然后在 Javascript 中排序

转载 作者:行者123 更新时间:2023-12-01 00:57:09 24 4
gpt4 key购买 nike

我的数据是从 csv 加载的对象数组。我想过滤掉不需要的值并对剩余的值进行排序并将它们放入另一个数组中以便我在 JavaScript 中加载“select”元素。

0: Object { type: "Feature", id: "AFG", female_lfpr: "48.65999985", … }
​​
1: Object { type: "Feature", id: "AGO", female_lfpr: "75.41200256", … }
​​
2: Object { type: "Feature", id: "ALB", female_lfpr: "47.19100189", … }

“data.features”如上所示。我想删除 id 为 -99 或 Country_name 为“”或“未定义”的国家/地区,并在另一个数组中收集有效的国家/地区 ID 和名称。

const valid_countries = {};
valid_countries = data.features.sort(function(a, b)
{
if ( (typeof a.country_name !== 'undefined') && (a.id !== '-99') &&(a.country_name !== ""))
{
valid_countries.id = a.id
valid_countries.country_name = a.country_name
// return a.country_name.localeCompare(b.country_name);
}
});

我需要一个包含 ID 以及相应国家/地区名称的数组 valid_countries。

{id: AUS, name:Australia}
{id: USA, name:United States of America}

可用于填充“选择”选项和值,以便国家/地区名称按字母顺序列出。

d3.select('#country_dropdown') 
.selectAll("option")
.data(valid_countries)
.enter()
.append("option")
.attr("value", function(c){ return c.id; })
.text(function(c) { return c.country_name; });

最佳答案

所以你的原始数组看起来像:

const data = [{ type: "Feature", id: "AFG", female_lfpr: "48.65999985", country_name: "Afghanistan" }, { type: "Feature", id: "AGO", female_lfpr: "75.41200256" }, { type: "Feature", id: "ALB", female_lfpr: "47.19100189", country_name: "Albania" }];

您可以使用类似的内容过滤掉无效的内容

const filtered = data.filter(element => { return (element.country_name != null && element.country_name !== '-99')})

上面的!= null 检查长度为0 的字符串和未定义

然后排序

const sorted = filtered.sort((a, b) => { return /* your comparison here*/ });

如果需要将结果转换为{ id: 'id', name: 'name'}格式,可以通过调用实现

const result = sorted.map(item => { id: item.id, name: item.country_name });

关于javascript - 检查 "undefined"然后在 Javascript 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56459303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com