小编the*_*son的帖子

如何使用 Javascript 动态替换 JSON 对象键中的空格?

如何动态替换 JSON 对象键中的空格?例如,如果我有以下对象:

[{
    "FIRST NAME": "Philip",
    "LAST NAME": "Rivers",
    "NUMBER": "17",
    "GPA": "1.0",
    "OLD_FACTOR": "8",
    "NICENESS": "1"
}, {
    "FIRST NAME": "Peyton",
    "LAST NAME": "Manning",
    "NUMBER": "18",
    "GPA": "4.0",
    "OLD_FACTOR": "5000",
    "NICENESS": "5000"
}]
Run Code Online (Sandbox Code Playgroud)

我希望能够将“名字”和“姓氏”分别动态重命名为“FIRST_NAME”和“LAST_NAME”。根据迄今为止的研究,我有这个功能:

function replaceSpaces(data) {
    debugger;
    for (var i = 0; i < data.length; i++) {
        var obj = data[i];
        for (var key in obj) {
            var replacedKey = key.split(' ').join('_');
            data[i][obj] = replacedKey;
        }
    }

    return data;
}
Run Code Online (Sandbox Code Playgroud)

传入的“data”参数是一个在进入此函数之前已经运行过 JSON.parse 的对象。

我对这段代码的问题是,它很好地循环遍历键,并将正确的替换字符串分配给“replacedKey”,但它没有将其分配给原始数据对象。

javascript json

5
推荐指数
1
解决办法
9123
查看次数

循环运行速度不够快的JavaScript函数

我正在尝试练习面试,并在网上发现了一个挑战来编写一个函数,该函数将获取一组数字,并且只返回在数组中只存在一次的值,并按顺序返回这些值.例如,数组[1,3,5,6,1,4,3,6]应返回[4,5].

我有一个通过测试的脚本,但是有些测试运行得太慢了.我错了吗?是否有一些基本方法可以加快速度?该脚本以findTheNumbers开头,a是数组输入:

function findTheNumbers(a) {
    var retVal = [];
    var nonUnique = [];

    for (var i = 0; i < a.length; i++){
        var isUnique = true;
        if (i != 0){
            for (var j = 0; j < nonUnique.length; j++){
                if (a[i] == nonUnique[j]){
                    isUnique = false;
                    break;
                }
            }
        }

        if (isUnique){
            for (var k = 0; k < a.length; k++){
                if (a[i] == a[k] && i != k){
                    isUnique = false;
                    nonUnique.push(a[i]);
                    break;
                }
            }    
        }

        if (isUnique){
            retVal.push(a[i]); …
Run Code Online (Sandbox Code Playgroud)

javascript arrays algorithm loops

4
推荐指数
1
解决办法
260
查看次数

标签 统计

javascript ×2

algorithm ×1

arrays ×1

json ×1

loops ×1