数组的角度运算

时间:2018-07-05 17:37:00

标签: angular typescript

嗨!
我是Angular的初学者,还没有为此找到任何东西,所以,如果您可以帮助我,请...
这是一个数组

firstarray[] = [{id:1,name:abc},{id:2,name:cba},{id:3,name:asd}]  

我想做的是:
第一:我有一个索引,例如indexNum = 1;
然后,我想要一个包含firstarray的索引项的新数组,索引为1,所以它们分别是id:2和name:cba。

indexItems[] = {2,cba}

第二
我想从firstarray中创建两个新数组,一个存储仅IDs ,其他存储仅名称

id_array[] = {1,2,3}  

name_array[] = {abc,cba,asd}

2 个答案:

答案 0 :(得分:1)

对于第一个任务,您应该仅在创建第二个数组时使用第一个数组的索引。

var indexItems = [firstArray[index]];

我不确定为什么您只需要构建一个仅包含一项的数组,因为如果未将其包装在数组中,则使用该项会更容易一些,例如: / p>

var indexItem = firstArray[index];

对于第二项任务,使用map函数可以将一个数组映射到转换后的数组。还要注意,您可能需要在数组中引用字符串。 (我假设它们不是变量名。)

// [{id:1,name:'abc'},{id:2,name:'cba'},{id:3,name:'asd'}]  
var nameArray = firstArray.map(item => item.name);
// ['abc', 'cba', 'asd']
var idArray = firstArray.map(item => item.id);
// [ 1, 2, 3 ]

答案 1 :(得分:0)

第一

indexItems= Object.values(firstarray[1])

第二

valsArr1=[]
valsArr2=[]
firstarray.forEach(item=>{
valsArr1.push(item['id']);
valsArr2.push(item['name']);
})