使用javascript中的map将空数组添加到数组中?

时间:2018-03-23 11:19:01

标签: javascript arrays object

这是我的数组数据:

var  service: [{
                id: '1',
                name: 'gana',
                age: '21',
                spare: 'rinch',
            }];

我想在此数据中添加一个静态空数组

可以使用map函数将空arry插入另一个数组吗?

我的预期结果是:

 var service: [{
                id: '1',
                name: 'gana',
                age: '21',
                spare: 'rinch',
                all:[]
            }];

为我提供任何解决方案或想法。

6 个答案:

答案 0 :(得分:2)

只需使用data

forEach

答案 1 :(得分:1)



var  service= [{
                id: '1',
                name: 'gana',
                age: '21',
                spare: 'rinch',
            }];
 console.log(service);
service.forEach(e => e.all= []);
console.log(service);




答案 2 :(得分:1)

您只需使用以下索引即可实现:

var service = [{
                id: '1',
                name: 'gana',
                age: '21',
                spare: 'rinch',
            }];
service[0].all = [];
console.log(service)

正如您在问题中提到的map()

var service = [{
                id: '1',
                name: 'gana',
                age: '21',
                spare: 'rinch',
            }];
service = service.map(function(i){
  i.all=[]; return i;
});
console.log(service);

答案 3 :(得分:1)

使用Array#map而不改变原始数组。

此提案使用Object.assign并使用所需的新属性构建新对象。

import wx
import sys
from wx.lib.mixins.listctrl import ColumnSorterMixin

actresses = {
1 : ('jessica alba', 'pomona', '1'), 
2 : ('sigourney weaver', 'new york', '2'),
3 : ('angelina jolie', 'los angeles', '11'), 
4 : ('natalie portman', 'jerusalem', '12'),
5 : ('rachel weiss', 'london', '20'), 
6 : ('scarlett johansson', 'new york', '22') 
}


class SortedListCtrl(wx.ListCtrl, ColumnSorterMixin):
    def __init__(self, parent):
        wx.ListCtrl.__init__(self, parent, -1, style=wx.LC_REPORT)
        ColumnSorterMixin.__init__(self, len(actresses))
        self.itemDataMap = actresses

    def GetListCtrl(self):
        return self

class Actresses(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(380, 230))

        hbox = wx.BoxSizer(wx.HORIZONTAL)

        panel = wx.Panel(self, -1)

        self.list = SortedListCtrl(panel)
        self.list.InsertColumn(0, 'name', width=140)
        self.list.InsertColumn(1, 'place', width=130)
        self.list.InsertColumn(2, 'year', wx.LIST_FORMAT_RIGHT, 90)

        items = actresses.items()

        for key, data in items:
            index = self.list.InsertStringItem(sys.maxsize, data[0])
            self.list.SetStringItem(index, 1, data[1])
            self.list.SetStringItem(index, 2, data[2])
            self.list.SetItemData(index, key)

        hbox.Add(self.list, 1, wx.EXPAND)
        panel.SetSizer(hbox)

        self.Centre()
        self.Show(True)

app = wx.App()
Actresses(None, -1, 'actresses')
app.MainLoop()
var service = [{ id: '1', name: 'gana', age: '21', spare: 'rinch' }],
    withAll = service.map(o => Object.assign({}, o, { all: [] }));

console.log(withAll);
console.log(service);

答案 4 :(得分:0)

使用下划线地图,您可以轻松完成

_.map([{
    id: '1',
    name: 'gana',
    age: '21',
    spare: 'rinch',
}], function(i) { i.all = [];
    return i; });

要测试访问underscore,请检查并粘贴代码以查看结果

答案 5 :(得分:0)

你在找?



var  service=[{
                id: '1',
                name: 'gana',
                age: '21',
                spare: 'rinch',
            }];
service.map(e=>e['all'] = new Array());
console.log(service)