我正在使用我的保存方法编写,但是这里得到的是数组列表。但是想转换成字符串集。
mySys: $scope.stringArrayToObjectArray($scope.editmySystems,"name");
$ scope.editmySystems持有价值 -
0 :f
id: svg
name:"JASSI"
1 :f
id: svg2
name:"JASSYY"
length: 2
因此,对于转换,我写了一个函数 -
$scope.stringArrayToObjectArray = function(stringArray, fieldName) {
var objectArr = [];
angular.forEach(stringArray, function(singleString) {
objectArr[fieldName]=singleString.name;
});
return objectArr;
};
目前objectArr正在返回 -
name: "JASON2"
预期的o / p- objectArr应该返回 -
name: ["JASSI","JASSYY"]
请建议
答案 0 :(得分:1)
基本上你可以使用:
var stringArray = [{id: 'svg', name: 'JASSI'}];
var objectArr = [];
stringArray.map(function(item) {
objectArr.push(item.name);
});
console.log(objectArr);
答案 1 :(得分:0)
它已关闭,但您要在一个对象的数组上设置索引。相反,只需附加字段名称。
$scope.stringArrayToObjectArray = function(stringArray, fieldName) {
var objectArr = [];
angular.forEach(stringArray, function(singleString) {
objectArr.push(singleString[fieldName]);
});
return objectArr;
};
答案 2 :(得分:0)
您可以使用Array#map
和回调来返回对象键的所需值。
map()
方法创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数。
function getValues(array, key) {
return array.map(function (a) {
return a[key];
});
}
var data = [{ id: 'svg', name: 'JASSI' }, { id: 'svg2', name: 'JASSYY' }];
console.log(getValues(data, 'name'));