#javascript #node.js #json #api
#javascript #node.js #json #API
Вопрос:
let mything = {
"holders": [{
"address": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
"balance": 8.623839536582375e24,
"share": 52.02
}, {
"address": "0xf977814e90da44bfa03b6295a0616a897441acec",
"balance": 4.5e24,
"share": 27.14
}]
};
let m = Object.entries(mything);
console.log(m);
Выше приведены данные json, хранящиеся в файле, теперь я хочу сделать цикл по всему этому файлу, который содержит 2000 таких записей, получить только адресную часть каждой записи и добавить ее в URL, так как же мне выполнить часть цикла??
Любой фрагмент кода для JavaScript был бы прекрасен.
Cudos.
Комментарии:
1. Пожалуйста, добавьте код, который вы также пробовали, и вашу конкретную задачу с ним
2. Спасибо, Марк, за обращение, моя задача — получить значение адреса и в дальнейшем использовать его, и я пытаюсь использовать что-то вроде метода Object.entries(), и после этого я действительно не знаю, что делать.
Ответ №1:
Вы можете использовать функцию map для получения однострочной строки :
const data = {"holders": [{
"address": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
"balance": 8.623839536582375e24,
"share": 52.02
},{
"address": "0xf977814e90da44bfa03b6295a0616a897441acec",
"balance": 4.5e24,
"share": 27.14
}]};
const url = "https://my.url/";
const urls = data.holders.map(holder => `${url}${holder.address}`);
console.log(urls);
Ответ №2:
Поскольку holders
объект представляет собой массив, вы можете перебирать его, как показано ниже, и использовать адрес, например, для построения URL-адреса в соответствии с вашей логикой внутри цикла. Вот пример хранения адресов в массиве:
var original = {
"holders": [{
"address": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
"balance": 8.623839536582375e24,
"share": 52.02
}, {
"address": "0xf977814e90da44bfa03b6295a0616a897441acec",
"balance": 4.5e24,
"share": 27.14
}]
};
var addresses = [];
for (let holder of original.holders) {
addresses.push(holder.address);
}
console.log(addresses)
Ответ №3:
const data = {"holders": [{
"address": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
"balance": 8.623839536582375e24,
"share": 52.02
},{
"address": "0xf977814e90da44bfa03b6295a0616a897441acec",
"balance": 4.5e24,
"share": 27.14
}]};
for(const obj of Object.values(data)) {
for(const arr of obj) {
// Your code
}
}
Ответ №4:
Используйте Array.prototype.map
.
const holders = [{
"address": "0xbe0eb53f46cd790cd13851d5eff43d12404d33e8",
"balance": 8.623839536582375e24,
"share": 52.02
}, {
"address": "0xf977814e90da44bfa03b6295a0616a897441acec",
"balance": 4.5e24,
"share": 27.14
}];
const addresses = holders.map((holder) => holder.address);
console.log(addresses);