在Javascript中遍历JSON对象时动态插入值

霍克斯伍德

对于我的技能水平而言,我走得太远了。

这是我得到的JSON数据(下降了几层。)

field_user_skill: {
    und: {
        0: {
            field_skill: { 
                und: "JavaScript" 
            },
            field_user_skill_current_rating: {
                und: [{
                    value: "5"
                }]
            },
            field_user_skill_desired_rating: {
                und: [{
                    value: "9"
                }]
            },
            remove_button: "Remove",
            _weight: 0
        },
        1: {
            field_skill: {
                und: "Ruby"
            },
            field_user_skill_current_rating: {
                und: [{
                    value: "6"
                }]
            },
            field_user_skill_desired_rating: {
                und: [{
                    value: "10"
                }]
            },
            remove_button: "Remove",
            _weight: 1
        },
    }

我试图把我的头围绕如何使用特定值(从数组)例如。var index = [0,1,2,3]来遍历对象,并在每个通替换的ID,并希望建立一个新的数组,其中i可以比较的值field_user_skill_current_rating,和field_user_skill_desired_rating

例如,在第一个遍历中,使用的第一个索引field_user_skill.und.0,然后在下一个遍历中使用field_user_skill.und.1,依次类推,依此类推,依次类推,这样我就可以基于每个遍历的结果创建新的数组。

我尝试了所有突然出现的(疯狂的)想法,但现在我陷入了困境。

我只是不太确定在使用Javascript进行迭代时如何替换值。实际上,那有可能吗?很抱歉格式化。提前致谢!

布兰登·布恩(Brandon Boone)

该代码假定您的JSON不会偏离上述结构,因此您应确保是这种情况,否则,在尝试访问属性或数组值之前,您需要添加适当的存在性检查。您可能可以在一个循环中完成所有这些操作,但是转换数据可以使以后的处理变得更简单。

另外,我不清楚您打算如何处理这些数据,因此我添加了一个示例。希望这应该给您一个良好的起点,以完成您的工作。

Live Demo

JS

var field_user_skill =  {
    und: {
        0: {
            field_skill: { 
                und: "JavaScript" 
            },
            field_user_skill_current_rating: {
                und: [{
                    value: "5"
                }]
            },
            field_user_skill_desired_rating: {
                und: [{
                    value: "9"
                }]
            },
            remove_button: "Remove",
            _weight: 0
        },
        1: {
            field_skill: {
                und: "Ruby"
            },
            field_user_skill_current_rating: {
                und: [{
                    value: "11"
                }]
            },
            field_user_skill_desired_rating: {
                und: [{
                    value: "10"
                }]
            },
            remove_button: "Remove",
            _weight: 1
        },
    }
};

function processSkills(userSkills){
    var data = [],
        skillNum = null; 

    for(skillNum in userSkills.und){
        data.push({
            'skill': userSkills.und[skillNum].field_skill.und,
            'currentRating': parseInt(userSkills.und[skillNum].field_user_skill_current_rating.und[0].value,10),
            'desiredRating': parseInt(userSkills.und[skillNum].field_user_skill_desired_rating.und[0].value,10),
        });
    }
    return data; 
}

function doYourComparison(data){

    var i = 0, 
        count = data.length;

    for(; i < count; i++){
        if(data[i].currentRating < data[i].desiredRating){
            alert('needs improvement'); 
        }else{
            alert('doint great'); 
        }
    }

}

var data = processSkills(field_user_skill);
doYourComparison(data); 

结果

[
  {
    "skill": "JavaScript",
    "currentRating": 5,
    "desiredRating": 9
  },
  {
    "skill": "Ruby",
    "currentRating": 11,
    "desiredRating": 10
  }
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

javascript对象(json)中的动态设置值

来自分类Dev

从JavaScript中的JSON对象访问动态值

来自分类Dev

将动态值插入对象数组,JavaScript

来自分类Dev

PostgreSQL 在 json 中插入动态值

来自分类Dev

在JavaScript中循环遍历JSON对象

来自分类Dev

如何在Javascript中动态使用子对象值找到父JSON对象值?

来自分类Dev

遍历json对象javascript

来自分类Dev

Javascript-遍历对象中动态创建的属性

来自分类Dev

遍历JSON中的对象

来自分类Dev

遍历JavaScript中的对象

来自分类Dev

JavaScript | 遍历JSON对象并获取特定键的所有值

来自分类Dev

循环遍历NSArray时从每个对象中减去值?

来自分类Dev

如何循环遍历javascript对象并在html中显示值

来自分类Dev

使用jquery在javascript对象或json文件中动态添加一些值

来自分类Dev

在外部JavaScript文件中插入动态值的安全方法

来自分类Dev

在外部JavaScript文件中插入动态值的安全方法

来自分类Dev

JSON对象解析:遍历动态数据

来自分类Dev

循环遍历动态嵌套的 javascript 对象

来自分类Dev

使用未知密钥遍历Javascript中的JSON对象

来自分类Dev

Javascript-遍历选项数组,并在对象的属性值与options数组中的所有值匹配时返回对象吗?

来自分类Dev

在python中遍历JSON对象

来自分类Dev

在Python中遍历JSON对象

来自分类Dev

将JSON中的属性插入JavaScript中的对象数组

来自分类Dev

在JavaScript中,对象如何跟踪键/值的插入顺序?

来自分类Dev

遍历JavaScript中的对象列表

来自分类Dev

遍历Javascript中的嵌套对象

来自分类Dev

无法遍历JavaScript中的对象

来自分类Dev

遍历JavaScript中的嵌套对象

来自分类Dev

遍历JavaScript中的对象数组

Related 相关文章

热门标签

归档