从一组对象构造一个元素数组?

时间:2014-04-11 06:45:01

标签: javascript node.js express

使用如下所示的数据结构:

Items : [
    {
        title : 'One',
        value : 1,
    },
    {
        title : 'Two',
        value : 2,
    }
]

我如何从Items构建标题数组?与[' One',' Two']

一样

此代码集生成一个' SyntaxError:意外的标识符'如果标题 == [] {..

app.get('/', function(req, res){
    var titles = [];
    for (var i=0, length=Items.length; i < length; i++) {
        if titles == [] {
            titles += Items[i]['title'];
        }
        else {
            titles = titles + ', ' + Items[i]['title'];
        }
        console.log(titles);
    };
  res.render('items', {
    itemTitles: titles
  });
});

2 个答案:

答案 0 :(得分:2)

我只想使用Array.map返回新数组中的标题

var titles = Items.map(function(o) {
    return o.title;
});

FIDDLE

此外,错误是由于缺少括号

if titles == [] {  ...

应该是

if (titles == []) {  ...

甚至更好

if (Array.isArray(titles) && titles.length === 0) {  ...

答案 1 :(得分:1)

var titles = [];
Items.forEach(function(item){
 titles.push(item.title);
});
//now display titles