javascript - 每个循环从 jQuery 创建 JSON

标签 javascript jquery json

我在看板上挖掘的所有问题都没有真正回答我的问题。所以就请教这里的专家。首先,非常感谢您继续阅读。我真的很感激 Stackoverflow 的一切,希望我现在成为成员(member)后可以做出贡献。

我想基于从另一个 JSON 对象设置的变量动态创建一个 JSON 对象,每个循环使用 jQuery。我认为我的语法以及我对这些东西的了解可能有点偏差。

我希望得到以下 JSON 结构:

{
  desktop:{
    title:300,
    rev:200
  }
}

其中“desktop”是来自另一个不在此循环中的 JSON 对象的值,我可以称之为没问题,实际上它实际上是我在另一个 JSON 对象上设置的名称值。我正在遍历名为列的对象中的数组,但想设置一个包含所有宽度的单独对象,因为列是可调整的,并且可以通过我将其推送到的另一个框架访问,我想保留这些宽度。

我试图在循环中执行此操作:

var colWidths = {};
$.each(columns, function(i) {
    colWidths.desktop.title = columns[i].width;
});

我可以成功提醒 columns[i].width。我遇到的问题是创建和访问它。我似乎所做的一切似乎都是正确的,但事实并非如此。也许是我或我的设置?你能告诉我如何正确编码吗?或者,如果这不可能,我可以创建一个 Javascript 对象。提前致谢!

最佳答案

欢迎使用 Stackoverflow。您没有写下您收到的任何错误消息,因此我假设如下。

// prepare the object correctly first
var colWidths = {
   desktop: {
      title: 0
   }
};
// then ADDING each value with += instead of = 
// (because in your code you will just have the last value)
$.each(columns, function(i) {
    colWidths.desktop.title += columns[i].width;
});

编辑

var grid = {
    "name": "desktop",
    "columns": [
        {
        "id": "icons",
        "width": 50},
    {
        "id": "title",
        "width": 200},
    {
        "id": "name",
        "width": 300},
    {
        "id": "revision",
        "width": 400}
    ]
};

var columns = grid.columns;
var gridName = grid.name;

var colWidths = {};

// CHANGE HERE
colWidths[gridName] = {}; 

$.each(columns, function(c) {

   var col = columns[c];
   var colname = col.id;
   var colwidth = col.width;

   // CHANGE HERE
   var thisGrid = colWidths[gridName];
   if(!thisGrid[colname]) thisGrid[colname] = 0;

   thisGrid[colname] += colwidth;

});

//alert(colWidths.desktop.title);​
document.write(JSON.stringify(colWidths));

// RESULT:
// {"desktop":{"icons":50,"title":200,"name":300,"revision":400}}

关于javascript - 每个循环从 jQuery 创建 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10063720/

相关文章:

javascript - Angular 4 到 Angular 5 找不到模块 '@angular/router'

javascript - jQuery 模板中的 If 语句

javascript - jquery 专注于 sibling 而不关注 parent

java - 如何标记 json 对象数组?

javascript - JSON 数组值分隔 javascript 中的列表

Javascript用html unicode替换tab字符进行JSON解析

javascript - 如何将 .html() 中的 javascript 变量传递给 php

javascript - jquery 中的查询选择器导致无法识别的表达式

javascript - Moment.js : Check if string is in correct format

php - 使用 Ajax 使用 php 将记录插入 mysql 数据库