javascript _.where() 函数是否不允许字符串中有空格?
Does javascript _.where() function not allow spaces in the string?
我正在尝试使用 _.where 浏览这个大的 json 映射文件。我以前用过它,但搜索词从未包含空格,而且功能运行良好。现在我使用的是有空格的搜索词,它永远不会带回任何匹配项。这是一段带有示例 entityName(搜索词)的代码。
entityName = "HEMTT WRECKER M984A1 MK19";
alert("entityName2: " + entityName);
entityMap = _.where(cdpeConfig.oobEntityMap, { "obs name" :entityName});
alert("entityMap: " + entityMap);
oobEntityMap 内部有 json 个元素,上面的 entityName 应该与以下内容匹配:
{
"obs name":"HEMTT WRECKER M984A1 MK19",
"edcss name":"M977_HEMTT_CARGO",
"mapping type":"skos:relatedMatch",
"obs dis enum":"1:2:225:7:19:3:2",
"edcss dis enum":"1:0:225:9:19:1:0"
}
Javascript 没有 _.where() 函数。 Underscore 确实有这个功能,这可能是你使用的。
http://underscorejs.org/#where
它允许空格。
var stuff = [
{"Bilbo Baggins" : "Little Hobbit"},
{"Gandalf Grey" : "Tall Wizard"}
];
var foo = _.where(stuff, {"Bilbo Baggins" : "Little Hobbit"});
console.log(foo);
尝试查看 cdpeConfig.oobEntityMap 您的传递是否实际上是一个对象或数组,并且不是未定义的或空的。
.
您可以尝试使用 _.filter
而不是 _.where
,看看是否有任何不同:
entityMap = _.filter(cdpeConfig.oobEntityMap, function(obj){
return obj["obs name"].match(/HEMTT WRECKER M984A1 MK19/);
});
我正在尝试使用 _.where 浏览这个大的 json 映射文件。我以前用过它,但搜索词从未包含空格,而且功能运行良好。现在我使用的是有空格的搜索词,它永远不会带回任何匹配项。这是一段带有示例 entityName(搜索词)的代码。
entityName = "HEMTT WRECKER M984A1 MK19";
alert("entityName2: " + entityName);
entityMap = _.where(cdpeConfig.oobEntityMap, { "obs name" :entityName});
alert("entityMap: " + entityMap);
oobEntityMap 内部有 json 个元素,上面的 entityName 应该与以下内容匹配:
{
"obs name":"HEMTT WRECKER M984A1 MK19",
"edcss name":"M977_HEMTT_CARGO",
"mapping type":"skos:relatedMatch",
"obs dis enum":"1:2:225:7:19:3:2",
"edcss dis enum":"1:0:225:9:19:1:0"
}
Javascript 没有 _.where() 函数。 Underscore 确实有这个功能,这可能是你使用的。
http://underscorejs.org/#where
它允许空格。
var stuff = [
{"Bilbo Baggins" : "Little Hobbit"},
{"Gandalf Grey" : "Tall Wizard"}
];
var foo = _.where(stuff, {"Bilbo Baggins" : "Little Hobbit"});
console.log(foo);
尝试查看 cdpeConfig.oobEntityMap 您的传递是否实际上是一个对象或数组,并且不是未定义的或空的。 .
您可以尝试使用 _.filter
而不是 _.where
,看看是否有任何不同:
entityMap = _.filter(cdpeConfig.oobEntityMap, function(obj){
return obj["obs name"].match(/HEMTT WRECKER M984A1 MK19/);
});