我似乎无法使用键/值对进行预先处理。由于每个键都不同,我只想将值显示为typeahead值。
以下是我尝试使用的数组示例:
var firstInit = '';
var lastInit = '';
angular.forEach(self.contacts, function(value, key){
if (key.first_name)
firstInit = key.first_name.charAt(0);
if (key.last_name)
lastInit = key.last_name.charAt(0);
this.push(firstInit + ':' + lastInit);
});
那么,我应该如何遍历每个对象并且只抓取每个对象的值(即" partner1")以显示在预先输入下拉列表中?
感谢您的帮助!
答案 0 :(得分:0)
var data = [
{"1":"partner1"},
{"2":"partner2"},
{"3":"partner3"},
{"4":"partner4"}
];
for (var i = 0; i < data.length; i++) {
data[i] = data[i][Object.keys(data[i])[0]];
}
console.log(data)
&#13;
要点:
对于数组中的每个对象,获取第一个键。使用此键访问该值并使用此值覆盖该对象。
答案 1 :(得分:0)
let your_objects = [
{"1":"partner1"},
{"2":"partner2"},
{"3":"partner3"},
{"4":"partner4"}
]
// Use a map to get all the values out into a list
// and then use Array.flatten
let nested_keys = Array.flatten(your_objects.map((obj) => Object.values(obj)));