javascript - 继续从数组中添加项目直到循环结束

标签 javascript jquery html arrays object

我有一个这样的对象:

var Object = {
        "id": "Siplus",
        "name":"Siplus",
        "icon":"forum"
      },
      {
        "id": "Recent",
        "name":"Recent Activities",
        "icon": "restore"
      },
      {
        "id": "jobList",
        "name":"Job List",
        "icon": "briefcase"
      },
      {
        "id": "Favourites",
        "name":"Favourites",
        "icon": "star"
      },
      {
        "id": "searchQuote",
        "name":"Search Quotes",
        "icon": "binoculars"
      },
      {
        "id": "orderStatus",
        "name":"Order Status",
        "icon": "clock"
      };

我有另一个像这样的数组

var array = [1,2,3];

我使用这段代码将数组值添加到对象:

for (var i = 0; i < object.length; i++) {
    object[i].number = array[i];
  }

我得到这样的结果:

var Object = {
            "id": "Siplus",
            "name":"Siplus",
            "icon":"forum",
            "number":1
          },
          {
            "id": "Recent",
            "name":"Recent Activities",
            "icon": "restore",
            "number":2
          },
          {
            "id": "jobList",
            "name":"Job List",
            "icon": "briefcase",
            "number":3
          },
          {
            "id": "Favourites",
            "name":"Favourites",
            "icon": "star",
            "number":undefined
          },
          {
            "id": "searchQuote",
            "name":"Search Quotes",
            "icon": "binoculars",
            "number":undefined
          },
          {
            "id": "orderStatus",
            "name":"Order Status",
            "icon": "clock",
            "number":undefined
          };

我想要这样:

var Object = {
            "id": "Siplus",
            "name":"Siplus",
            "icon":"forum",
            "number":1
          },
          {
            "id": "Recent",
            "name":"Recent Activities",
            "icon": "restore",
            "number":2
          },
          {
            "id": "jobList",
            "name":"Job List",
            "icon": "briefcase",
            "number":3
          },
          {
            "id": "Favourites",
            "name":"Favourites",
            "icon": "star",
            "number":1
          },
          {
            "id": "searchQuote",
            "name":"Search Quotes",
            "icon": "binoculars",
            "number":2
          },
          {
            "id": "orderStatus",
            "name":"Order Status",
            "icon": "clock",
            "number":3
          };

他们有什么方法可以重复数字而不是“未定义”

请帮帮我

最佳答案

由于模运算,您可以通过从数组中添加正确的值来映射您的输入对象

var data = [{
        "id": "Siplus",
        "name":"Siplus",
        "icon":"forum"
      },
      {
        "id": "Recent",
        "name":"Recent Activities",
        "icon": "restore"
      },
      {
        "id": "jobList",
        "name":"Job List",
        "icon": "briefcase"
      },
      {
        "id": "Favourites",
        "name":"Favourites",
        "icon": "star"
      },
      {
        "id": "searchQuote",
        "name":"Search Quotes",
        "icon": "binoculars"
      },
      {
        "id": "orderStatus",
        "name":"Order Status",
        "icon": "clock"
      }];
var array = [1,2,3];
res = data.map((x,i) => {
  x.number = array[i % array.length]
  return x;
})
console.log(res);

关于javascript - 继续从数组中添加项目直到循环结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41186423/

相关文章:

javascript - 悬停/焦点状态最初在页面加载时激活

javascript - 添加图标和文本时jqgrid行高扩展

javascript - 从上面的元素获取值

javascript - onclick 函数在没有点击 JavaScript 的情况下执行

javascript - 如何在剑道网格中只对一个字段进行分组?

jquery - 防止 Bootstrap 模式重复的ajax调用?

html - 子菜单仅在悬停时显示

javascript - 如何反转()关联数组(对象)?

javascript - Twitter Bootstrap Scrollspy,离开区域时删除事件

jQuery fadeIn() fadeOut() 计时问题