gpt4 book ai didi

javascript - 为什么在使用文字字符串和局部变量时我的结果不同

转载 作者:行者123 更新时间:2023-11-30 14:08:31 24 4
gpt4 key购买 nike

我有以下循环。

for (var key in criteria) {

var exists = Object.keys(item).some(function(k) {
return item[k] === "Test";
})
}

这非常有效。根据项目的数量,我得到了 15 个 true。但是,如果我将其更改为以下内容:

for (var key in criteria) {

var myString = item[key];

var exists = Object.keys(item).some(function(k) {
return item[k] === myString;
});
}

我知道 item[key] 在我的循环中的某个点将等同于“测试”,但它不会产生相同的结果。事实上它返回所有 true,

Criteria 是一个像这样的对象:

{
habitat_type: "Mangroves",
issue_specific_terms: "Test"
}

Item 也是一个对象,如:

{
habitat_type: "Streams and rivers",
cci: "Low productivity/loss of agriculture",
intervention_type: "Restoration",
issue_specific_terms: "Test",
country: "United States of America"
}

最佳答案

您需要更改 myString 是什么 - 目前,它总是相等的,因为 criteria 当前没有出现。将 myString 更改为 criteria[key]:

for (var key in criteria) {

var myString = criteria[key];

var exists = Object.keys(item).some(k => item[k] === myString);

}

关于javascript - 为什么在使用文字字符串和局部变量时我的结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54893447/

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