将对象转换为字符串数组?

时间:2016-06-06 21:14:55

标签: javascript angularjs

我正在使用我的保存方法编写,但是这里得到的是数组列表。但是想转换成字符串集。

   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"]

请建议

3 个答案:

答案 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'));