Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';过滤器';用AngularJS过滤_Javascript_Arrays_Angularjs - Fatal编程技术网

Javascript ';过滤器';用AngularJS过滤

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"

我有一个对象数组,我想在“filter”过滤器中传递键时提取值。下面是我尝试过的控制器代码片段,但我得到的响应类型尚未定义。请帮我找出哪里出了问题

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解决方案适合我,所以我从来都不需要另一个库来完成这些琐碎的任务:)