Change structure of JSON array

  • Status: Closed
  • Hadiah: €50
  • Penyertaan Diterima: 11
  • Pemenang: Sanjoypl14

Ringkasan Peraduan

Kindly convert this input:
[{"name":"alpha","id":"1"},
{"name":"beta","id":"6"},
{"name":"alpha","id":"2"},
{"name":"alpha","id":"3"},
{"name":"beta","id":"7"},
{"name":"gamma","id":"9"},
{"name":"beta","id":"4"},
{"name":"beta","id":"5"},
{"name":"beta","id":"8"}]

To:
[{"name":"alpha","count":3,"ids":[1,2,3]},
{"name":"beta","count":5,"ids":[6,7,4,5,8]},
{"name":"gamma","count":1,"ids":[9]}]

The program should:
* Work with DuckTape JavaScript
* Allow special characters for the "name" field like double quotes, square brackets, a space (see attachements)

Kemahiran Disyorkan

Maklum Balas Majikan

“Fast delivery”

Gambar Profil catonrug, Latvia.

Penyertaan teratas dari peraduan ini

Lihat Lebih Banyak Entri

Papan Penjelasan Umum

  • emanuelherrador
    emanuelherrador
    • 1 bulan yang lalu

    This is:

    const fs = require('fs');
    const { resolve } = require('path');

    // File name
    const file_name_input = '1.in.json';
    const file_name_output = '1.out.json';

    // Read file
    const data = fs.readFileSync(resolve(__dirname, file_name_input), 'utf8');
    console.log(data);

    // Parse JSON
    var json = JSON.parse(data);

    // Count names
    var names = {};
    json.forEach(function(item) {
    if (names[item.name] === undefined) {
    names[item.name] = [item.id];
    } else {
    names[item.name].push(item.id);
    }
    });
    console.log(names);

    // Generate output
    var output = [];
    for (var el in names) {
    output.push({
    name: el,
    count: names[el].length,
    ids: names[el]
    });
    }
    console.log(output);

    // Write to file
    fs.writeFileSync(resolve(__dirname, file_name_output), JSON.stringify(output));

    • 1 bulan yang lalu
  • emanuelherrador
    emanuelherrador
    • 1 bulan yang lalu

    I put the all code in text into a comment in the #9 solution

    • 1 bulan yang lalu
  • emanuelherrador
    emanuelherrador
    • 1 bulan yang lalu

    Hi! The solution code is in #9 . You can see it and test that works!

    • 1 bulan yang lalu

Bagaimana untuk mulakan dengan peraduan

  • Siarkan peraduan anda

    Siarkan Peraduan Anda Cepat dan mudah

  • Dapatkan berjuta penyertaan

    Dapatkan Bertan-tan Penyertaan Dari serata dunia

  • Anugerahkan penyertaan terbaik

    Anugerahkan penyertaan terbaik Muat turun fail - Mudah!

Siarkan Peraduan Sekarang atau Sertai kami Hari Ini!