使用angular js仅从数组数组中获取值

时间:2017-01-18 10:58:13

标签: angularjs

我从数据库获得了一个数组

[
  {id:
     {unitno: 'abc'},
   amount: 100},
  {id:
     {unitno: 'xyz'},
   amount: 150}
]

现在我要求的答案应该是以下格式,

[["abc",100],
 ["xyz",150]]

但经过一些编码后,我得到了一个Array数组,如下面的控制台

所示
[0:[0:"abc",1:100]
 1:[0:"xyz",1:150]]

在提问或标记重复之前,请先阅读我的要求,然后在那里进行标记,然后根据我所需的解决方案发布该链接,以便我可以从那里获得我的解决方案

所以任何帮助都会有很大的帮助......

3 个答案:

答案 0 :(得分:0)

你可以这样做:

data = [
 {id:
    {unitno: 'abc'},
  amount: 100},
 {id:
   {unitno: 'xyz'},
  amount: 150}
]

var array =[]
data.forEach(function(item){
  var tmpArray = []
  tmpArray.push(item.id.unitno,item.amount)
  array.push(tmpArray)
})

现在,您将获得阵列中所需的数据。

答案 1 :(得分:0)

我不知道你是如何得到这个下面的代码,但那是无效的数组

  

[0:[0:"abc",1:100] 1:[0:"xyz",1:150]]

对于您想要的输出,您可以使用JavaScript,不需要角度。只需运行一个简单的for循环。

var temp1 = [{
  id: {
    unitno: 'abc'
  },
  amount: 100
}, {
  id: {
    unitno: 'xyz'
  },
  amount: 150
}];
var eee = [];
temp1.forEach(function(el) {
  eee.push([el.id.unitno, el.amount])
});
console.log('eee:', eee);

答案 2 :(得分:0)

希望这就是你所需要的。

var arr = [{
    id : { unitno: 'abc' },
  amount: 100
},{
    id : { unitno: 'xyz' },
  amount: 150
}];

var result = [];

for (var i = 0; i < arr.length; i++) {
    var newArray = [];
    newArray.push( arr[i]["id"]["unitno"] );
    newArray.push( arr[i]["amount"] );    
    result.push( newArray );    
}

console.log( result );

enter image description here