V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
pinkman
V2EX  ›  JavaScript

感觉自己弱爆了,如何将这货转换为目标格式啊

  •  
  •   pinkman · 2015-05-15 07:36:41 +08:00 · 2927 次点击
    这是一个创建于 3269 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在得到的返回是
    $.each(entries, function(idx, entry) {
    console.log(entry);
    });

    key
    value
    john
    JOHN
    doe
    DOE
    foo
    FOO
    bar
    BAR

    最终的输入是:[{"key": "john", "value": "JOHN"}, {"key": "doe", "value": "DOE"}, {"key": "foo", "value": "FOO"}, {"key": "bar", "value": "BAR"}]

    发现自己连这都做不出来,太受打击了...
    11 条回复    2015-05-15 10:43:10 +08:00
    mringg
        1
    mringg  
       2015-05-15 07:38:20 +08:00 via Android
    json_array
    ekousp
        2
    ekousp  
       2015-05-15 07:45:55 +08:00
    没看懂
    Septembers
        3
    Septembers  
       2015-05-15 08:03:55 +08:00 via Android
    期望输出是?
    jun4rui
        4
    jun4rui  
       2015-05-15 08:08:44 +08:00
    期待输出的是key:value?
    lk09364
        5
    lk09364  
       2015-05-15 08:11:47 +08:00   ❤️ 1
    先去找提问的智慧看看。
    然后,如果我没理解错的话,你有一个 array ,如下:
    ```
    var arr = ['key','value','john','JOHN','doe','DOE','foo','FOO','bar','BAR'];
    ```
    你希望输出如下的 array:
    ```
    [{"key": "john", "value": "JOHN"}, {"key": "doe", "value": "DOE"}, {"key": "foo", "value": "FOO"}, {"key": "bar", "value": "BAR"}]
    ```

    如果上述无误,你可以这样做:
    ```
    var k1 = arr[0], k2 = arr[1], result = [];
    for (var i = 2; i < arr.length; i+=2) {
    var obj = {};
    obj[k1] = arr[i];
    obj[k2] = arr[i+1];
    result.push(obj);
    }
    ```
    oott123
        6
    oott123  
       2015-05-15 08:12:33 +08:00 via Android
    脱离 jQuery ,最容易的思路大概是:
    首先拿到前两个字符串作为元素的键;
    然后用一个步进为 2 的 for 循环生成剩下的内容。
    oott123
        7
    oott123  
       2015-05-15 08:13:06 +08:00 via Android   ❤️ 1
    _(:з」∠)_比 5 楼慢了几秒钟…
    pinkman
        8
    pinkman  
    OP
       2015-05-15 08:15:17 +08:00
    @lk09364 太感谢了!下一次我一定从提好问题开始!学习了!
    pinkman
        9
    pinkman  
    OP
       2015-05-15 08:16:37 +08:00
    @lk09364 再说一次感谢!可惜不能多发送几次感谢
    nevernet
        10
    nevernet  
       2015-05-15 09:22:06 +08:00
    v2ex不支持markdown确实很蛋疼
    9
        11
    9  
       2015-05-15 10:43:10 +08:00
    @nevernet +1 对于不支持markdown也是表示不可理解。

    回复的时候没有楼层显示,也让我找回复的时候多花费了很多时间。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5080 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:42 · PVG 17:42 · LAX 02:42 · JFK 05:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.