如何从1中创建两个javascript数组?
我有一个数组:如何从1中创建两个javascript数组?,javascript,Javascript,我有一个数组: phrasePosNameSources = [ { id: 0, longName: '#', name: '#' }, { id: 1, longName: 'Noun', name: 'N' }, { id: 2, longName: 'Verb', name: 'V' } ];
phrasePosNameSources = [
{
id: 0,
longName: '#',
name: '#'
},
{
id: 1,
longName: 'Noun',
name: 'N'
},
{
id: 2,
longName: 'Verb',
name: 'V'
}
];
我想做的是根据这些数据创建两个数组,如下所示:
phrasePosNames = [
{
id: 0,
name: '#'
},
{
id: 1,
name: 'N'
},
{
id: 2,
name: 'V'
}
];
phrasePosLongNames = [
{
id: 0,
name: '#'
},
{
id: 1,
name: 'Noun'
},
{
id: 2,
name: 'Verb'
}
];
有人能告诉我如何使用现代浏览器做到这一点吗?你可以参考我上面评论中的代码块,希望这有帮助,如果你需要澄清,请告诉我 工作小提琴:
var phrasePosNameSources=[
{
id:0,
longName:“#”,
姓名:'#'
},
{
id:1,
longName:'名词',
姓名:‘N’
},
{
id:2,
longName:'动词',
名称:“V”
}
];
var phrasePosNames=[];
var phrasePosLongNames=[];
for(var i=0;i
您可以在数组上循环,并根据需要构造两个不同的数组,这种方法有困难吗?var phrasePosNames=phrasePosNameSources.map(item=>{id:item.id,name:item.name})
var phrasePosLongNames=phrasePosNameSources.map(item=>{id:item.id,name:item.longName})@vid-你能把这个作为答案添加进来,这样我就可以接受了。Thanks@SamanthaVid“map”可以通过在所有元素上循环来操作数组,但是在这种情况下使用“map”需要循环2次。我们可以使用一个“for”循环来实现这一点,如我的答案所示,所以我觉得“for”循环方法更好,如果我遗漏了什么,请随意更正。
var phrasePosNameSources = [
{
id: 0,
longName: '#',
name: '#'
},
{
id: 1,
longName: 'Noun',
name: 'N'
},
{
id: 2,
longName: 'Verb',
name: 'V'
}
];
var phrasePosNames = [];
var phrasePosLongNames = [];
for (var i=0; i < phrasePosNameSources.length; i++) {
phrasePosNames.push({
id: phrasePosNameSources[i].id,
name: phrasePosNameSources[i].name
});
phrasePosLongNames.push({
id: phrasePosNameSources[i].id,
name: phrasePosNameSources[i].longName
});
}