gpt4 book ai didi

javascript - 在js中按条件将变量设置为数组的子集

转载 作者:行者123 更新时间:2023-11-30 09:39:34 25 4
gpt4 key购买 nike

我对 JS 比较陌生,希望找到最好的方法来根据动态条件将一个变量设置为等于另一个变量的子集。

在下面的示例中,

  • clickedCode 是一个在每次点击事件后更改的字符串(下面的所有代码都在 click.event 函数内)。

  • features 是一个包含 400 个元素的要素数组,每个元素包含一个 properties 对象,该对象又包含纬度、经度等元素。

  • cities 是一个空数组

          var clickedCode // dynamically changing string
    var cities = [];
    var features = map.queryRenderedFeatures({layers:['uni']});

例如,如果我记录第一个功能的一些属性,我将看到:

var lon = features[0].properties.lon
var lat = features[0].properties.lat
var code = features[0].properties.code

console.log("" + lon + " " + lat + " " + code);

4.7005 50.8798 EMPHID

我的目标是对features进行子集化,其中features[i].properties.code等于clickedCode,然后设置cities 等于结果数组,大致如下:

cities = features 其中 features[i].properties.code === clickedCode

任何关于在 javascript 中构建此结构的建议和解释都会有帮助

最佳答案

您可以使用 Array.filter()

所以在你的情况下,它会是这样的:

var cities = features.filter(function (feature){
return feature.properties.code === clickedCode;
});

只需将回调函数传递给过滤器(确保该函数返回 true/falsy 值,否则可能会出现不良行为)。

关于javascript - 在js中按条件将变量设置为数组的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41867081/

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