我正在开发一个嵌套的js应用程序,该应用程序试图从更多原始数据中创建一个干净的json模式。
因此,当我遍历数据时,我想选择像这样嵌套的标签值。
label: data[x]["title"]["values"]["en"]
我想在父级中创建一个指针-指向此数据的指针
parentLabelPointer : "title.values.en"
但是我不能像这样简单地获取这个变量(使用余烬)
label: data[x][this.get("parentLabelPointer")]
如果只是一个级别-这将起作用。 e.b. “ parentLabelPointer:”标题“”
是否有一种干净的方法来提取此数据-不必尝试深入钻取嵌套数组(如["title"]["values"]["en"]
)中的数据?
这是为了使模块更模块化-如果它可以与不同的数据集和不同的嵌套级别一起使用。
我的例子
getLabel: function(prefix, pointer){
var trail = pointer.split(".");
var label = prefix;
trail.forEach(function(element) {
label = label[element];
});
return label;
}
用法
this.getLabel(data[x], this.get('parentLabelPointer'))
data [x]类似于分支的已知级别-但要在原始数据中找到标签-
parentLabelPointer-类似于“ title.values.en”
答案 0 :(得分:1)
我认为您想要这样的东西:
# Uncomment this line to define a global platform for your project
platform :ios, '10.0'
# Uncomment this line if you're using Swift
use_frameworks!
project 'PROJECT'
target 'PROJECT' do
pod 'Firebase/Core'
pod 'Firebase/Analytics'
pod 'Firebase/Messaging'
pod 'MWPhotoBrowser', '~> 1.4'
pod 'AKNumericFormatter', '~> 0.0'
pod 'GoogleMaps', '~> 1.10'
pod 'GoogleAnalytics', '~> 3.13'
pod 'Fabric'
pod 'Crashlytics'
pod 'LMGeocoder', '~> 1.0'
pod 'AFNetworking', '~> 3.0'
pod 'JSONModel'
end
所有人都说,目前还不清楚import { computed } from '@ember/object';
...
label:computed('parentLabelPointer', 'data.[]', 'x', function(){
let x = this.get('x');
let data = this.get('data');
let parentLabelPointer = this.get('parentLabelPointer');
return data[x].get(parentLabelPointer);
}
,x
等是什么,或者它们应该如何工作等。这确实像XY problem