当出现 'no match' 时,d3 .filter 函数在匹配两个数组中的字符串值时停止
d3 .filter function stops while matching string values in two arrays when a 'no match' occurs
意图:
将来自 localStorage 的字符串与来自 .csv 的数组中的字符串进行匹配,并在匹配时更改样式。
所有可用的单词都在两个不同的 .csv 文件中。在 localStorage 中存储了文件 1 或文件 2 中的一些单词。
在页面刷新时,会显示 csv-list 1 或 csv-list 2,而不是同时显示。
以下代码从 localStorage 获取字符串:
retrieveMarks = window.localStorage.getItem("marked")
wup = JSON.parse(retrieveMarks);
console.log("hi" + wup)
并在控制台中正确显示:
hicsalád,nő,bank,hal,kabát,baba,vasútállomás,étel,ügyvéd,banán,diák,gyermek,energia
我现在在过滤器中使用此列表,成功匹配第二个数组 d ( strings from .csv );
成功并按预期更改样式:
console.log(d3.selectAll(".bubble-label-name").filter((d) -> textValue(d) in wup).style("border", "6px solid red"))
问题:
实例 1:the values (d) -> textValue(d)
从 First.csv 文件加载;一切正常;所有匹配的字符串都有预期的效果
实例2:the values (d) -> textValue(d)
从Second.csv文件中加载,不再发生样式变化。
我的解读:
过滤器 .filter((d) -> textValue(d) in sup)
从 localStorage 数组的开头开始匹配。当它找不到字符串时,进程停止。过滤器不评估来自 localStorage 等的第二个词。
这是正确的吗?发生不匹配时需要什么代码来进行过滤,跳到下一个匹配项?
解决方案:
请在此处查看解决方案。从两个不同的 cvs 中获取值并不是真正的问题,只是一个错字。
d3 localStorage.getItem() 比较数组 .filter()
意图: 将来自 localStorage 的字符串与来自 .csv 的数组中的字符串进行匹配,并在匹配时更改样式。
所有可用的单词都在两个不同的 .csv 文件中。在 localStorage 中存储了文件 1 或文件 2 中的一些单词。 在页面刷新时,会显示 csv-list 1 或 csv-list 2,而不是同时显示。
以下代码从 localStorage 获取字符串:
retrieveMarks = window.localStorage.getItem("marked")
wup = JSON.parse(retrieveMarks);
console.log("hi" + wup)
并在控制台中正确显示:
hicsalád,nő,bank,hal,kabát,baba,vasútállomás,étel,ügyvéd,banán,diák,gyermek,energia
我现在在过滤器中使用此列表,成功匹配第二个数组 d ( strings from .csv );
成功并按预期更改样式:
console.log(d3.selectAll(".bubble-label-name").filter((d) -> textValue(d) in wup).style("border", "6px solid red"))
问题:
实例 1:the values (d) -> textValue(d)
从 First.csv 文件加载;一切正常;所有匹配的字符串都有预期的效果
实例2:the values (d) -> textValue(d)
从Second.csv文件中加载,不再发生样式变化。
我的解读:
过滤器 .filter((d) -> textValue(d) in sup)
从 localStorage 数组的开头开始匹配。当它找不到字符串时,进程停止。过滤器不评估来自 localStorage 等的第二个词。
这是正确的吗?发生不匹配时需要什么代码来进行过滤,跳到下一个匹配项?
解决方案:
请在此处查看解决方案。从两个不同的 cvs 中获取值并不是真正的问题,只是一个错字。
d3 localStorage.getItem() 比较数组 .filter()