Javascript 当我从fetch函数发送数据时,为什么函数返回false?
我有这个功能Javascript 当我从fetch函数发送数据时,为什么函数返回false?,javascript,Javascript,我有这个功能 const haveChildren = (galactic, planet) => { galactic.forEach( orbit => { const p = planet[1] const o = orbit[0] console.log( orbit[0]===p, orbit, planet, orbit[0], p) }) } 然后我在FetchAPI中使用它,从txt文件中获取数据 fetch('./data.txt'
const haveChildren = (galactic, planet) => {
galactic.forEach( orbit => {
const p = planet[1]
const o = orbit[0]
console.log( orbit[0]===p, orbit, planet, orbit[0], p)
})
}
然后我在FetchAPI中使用它,从txt文件中获取数据
fetch('./data.txt')
.then(response => response.text())
.then(text => {
console.log(text)
text = text.split('\n').map(orbit => orbit.split(')'))
console.log(text)
text.forEach( (element, index, array) => {
haveChildren(array, element)
})
} )
这就是我在结果中得到的:false['K','L']['J','K']“K”“K”
但是我希望得到真的。有什么想法吗
顺便说一句,如果我以其他方式测试它,它的工作很好
即使在承诺中:
data.txt:
COM)B
B)C
C)D
D)E
E)F
B)G
G)H
D)I
E)J
J)K
K)L
您的文件是否使用Windows行结尾(“\r\n”而不是“\n”)
您将按“\n”
进行拆分,因此在每行末尾保留“\r”
,因此您的比较将是“K”==“K\r”
,即false
试试像这样的东西
const p = planet[1].trim();
const o = orbit[0].trim();
在你的比较中
console.log( orbit[0].trim()===p, orbit, planet, orbit[0].tirm(), p); //You can also use o instead of orbit[0] here
如果我理解你的问题,'a'!='a'
谢谢,我自己永远也找不到!console.log不显示它只是看起来像单个letter@Heju很高兴我能提供帮助:)您可以使用JSON.stringify(p)
或p.length
检查其中是否有“隐藏”的内容