gpt4 book ai didi

javascript - array.includes 的奇怪行为对于字符串 'sku' 总是返回 false

转载 作者:行者123 更新时间:2023-12-04 13:08:02 25 4
gpt4 key购买 nike

我遇到了 array.includes 功能的奇怪行为。我的工作是检查变量 feedProduct 是否包含所有必填字段。

function hasAllRequiredFields(requiredFields, feedProduct) {

// Prepare array for adding missing fields
let missing_required = [];

// Print all fields and there type (only for easier debugging)
console.log(feedProduct);
console.log(typeof feedProduct);
feedProduct.forEach(fp => {
console.log(fp)
console.log(typeof fp)
})

// Check if feedProduct array contains all required fields
console.log('')
console.log('CHECK IF ALL REQUIRED FIELDS ARE PRESENT')
requiredFields.forEach(wf => {
console.log(wf);
console.log(typeof wf);
if (!feedProduct.includes(wf)) {
missing_required.push(wf);
}
})

console.log('')
console.log('')
console.log('Missing')
console.log(missing_required)

return missing_required;
}

结果很奇怪。如您所见,我在数组 FeedProduct 中搜索字符串“sku”类型的字符串,其中包括字符串类型的字符串“sku”,但 feedProduct.includes(wf) 返回 false

sku missing

我也用 indexOf 尝试过相同的逻辑,结果是一样的。如果我在 Developer tools 中复制/粘贴此代码,则结果将为 true,并且不会丢失任何字段

请告诉我我还应该检查或做什么,这样我的代码才能正常工作。如果您需要任何其他信息,请告诉我,我会提供。谢谢

**更新

函数在其他函数中被调用,像这样

let hasRequiredFields = hasAllRequiredFields(preparedMappingFields.storeFeedMustHaveFields, header);

console.log(feedProduct[0], requiredFields[0], feedProduct[0] === requiredFields[0]); 的结果如下

sku sku 错误

** 更新二

console.log(requiredFields[0].split('').map(c => c.charCodeAt(0)))
console.log(feedProduct[0].split('').map(c => c.charCodeAt(0)))

Log 1:
[ 115, 107, 117 ]
Log 2:
[ 65279, 115, 107, 117 ]

最佳答案

您只是在寻找两个数组之间的差异,所以您也可以这样做...

const rf = ['foo', 'bar', 'baz'];

const fp = ['foo', 'baz']

const difference = rf.filter( x => !fp.includes(x))

console.log(difference)

如果你想要得到交叉点,你会想要这样做......

const rf = ['foo', 'bar', 'baz'];

const fp = ['foo', 'baz']

const intersection = rf.filter( x => fp.includes(x))

console.log(intersection)

关于javascript - array.includes 的奇怪行为对于字符串 'sku' 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68480676/

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