Javascript ';过滤器';用AngularJS过滤
我有一个对象数组,我想在“filter”过滤器中传递键时提取值。下面是我尝试过的控制器代码片段,但我得到的响应类型尚未定义。请帮我找出哪里出了问题Javascript ';过滤器';用AngularJS过滤,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我有一个对象数组,我想在“filter”过滤器中传递键时提取值。下面是我尝试过的控制器代码片段,但我得到的响应类型尚未定义。请帮我找出哪里出了问题 var states = [{"HIMACHAL PRADESH":"HP"},{"JAMMU AND KASHMIR":"JK"},{"JHARKHAND":"JH"},{"KARNATAKA":"KA"},{"KERALA":"KL"},{"MADHYA PRADESH":"MP"},{"MAHARASHTRA":"MH"},{"ORISSA"
var states = [{"HIMACHAL PRADESH":"HP"},{"JAMMU AND KASHMIR":"JK"},{"JHARKHAND":"JH"},{"KARNATAKA":"KA"},{"KERALA":"KL"},{"MADHYA PRADESH":"MP"},{"MAHARASHTRA":"MH"},{"ORISSA":"OR"}]
var str = "ORISSA";
var abbr = $filter('filter')(states, {key: str}, true).value;
console.log ("ABBR:"+abbr);
另外,我在控制器中注入了$filter使用
对象。键
和查找
var matchedState = states.find( s => Object.keys( s )[0] == str );
var abbr = matchedState ? matchedState[str] : ""
演示
var状态=[{
“喜马偕尔邦”:“HP”
}, {
“查谟和克什米尔”:“JK”
}, {
“JHARKHAND”:“JH”
}, {
“卡纳塔克邦”:“卡”
}, {
“喀拉拉邦”:“吉隆坡”
}, {
“中央邦”:“议员”
}, {
“马哈拉施特拉邦”:“MH”
}, {
“奥里萨邦”:“或”
}]
var str=“Orisa”;
var matchedState=states.find(s=>Object.keys)[0]==str);
var abbr=匹配状态?匹配状态[str]:“”
控制台日志(缩写)代码>请出示您的filter@Prastheesh我正在使用AngularJS提供的“过滤器”过滤器。您需要为此创建一个自定义过滤器。检查这个问题的答案。这是一个类似的问题。谢谢古文德。解决办法很有效。想知道是否可以用AngularJS中的filter完成抱歉,我不知道如何使用AngularJS中的filter来解决您的问题。Vanilla JS解决方案适合我,所以我从来都不需要另一个库来完成这些琐碎的任务:)