Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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 基于对象UI5的键过滤JSON模型_Javascript_Json_Sapui5 - Fatal编程技术网

Javascript 基于对象UI5的键过滤JSON模型

Javascript 基于对象UI5的键过滤JSON模型,javascript,json,sapui5,Javascript,Json,Sapui5,我有一个JSON模型说:- var currency = new sap.ui.model.json.JSONModel(); var currenices = [{"name":"Indian National Rupee", "code":"INR"}, {"name":"Euro", "code":"EUR"}, {"name":"U.S.Dollars", "code":"USD"},

我有一个JSON模型说:-

var currency = new sap.ui.model.json.JSONModel();
var currenices = [{"name":"Indian National Rupee", "code":"INR"},
                  {"name":"Euro", "code":"EUR"},
                  {"name":"U.S.Dollars", "code":"USD"},
                  {"name":"Chilean Peso", "code":"CLP"},
                  {"name":"New Zealand Dollar", "code":"NZD"}]
currency.setData(currenices);
如何将“new sap.ui.model.Filter(sPath、FilterOperator、value1、value2等)”应用于此模型。我想获得给定代码的货币名称。 我知道这可以在数据绑定期间完成,但我想直接对模型执行

我对数组应用了'filter'函数,并且能够过滤给定代码的名称。 是否可以使用model.Filter执行相同的操作


提前感谢,

这是不可能的。筛选器已绑定到列表绑定。请看我在这篇关于UI5数据绑定中的过滤函数的回答。你为什么要直接这么做 对模特儿来说

问候,, 艾伦

最新答复:

用于数据绑定的格式化程序函数似乎是您的案例的一种解决方案。由于您可以维护自己的货币映射,因此可以定义格式化程序并执行以下操作:

var currencyMap = {"EUR":"Euro","USD":"U.S.Dollars"} // 

currencyFormatter: function(sCurrency) {

    return currencyMap[sCurrency];  
}

有关UI5格式化程序功能的详细信息,请参阅。

不确定您想要什么。。。您想为某个“代码”查找“名称”(例如,类似于sql选择名称,其中代码=“EUR”)还是需要筛选(例如,将列表缩减为单个条目)?我想获得给定代码的名称(与您提到的sql相同)。我有一个curency的值帮助输入框,当用户导航到此页面时,需要预先填充该框。我只从服务中获取货币代码,因此我创建了一个UI模型,将货币代码映射到货币名称,并始终在输入框中显示货币名称。因此,如果我从服务中获取“USD”,我会在输入框中显示美元。目前,我正在使用“foreach”循环数组(货币)并映射代码以获取名称。如果有更好的办法,请告诉我。