我有一个数组“ derniere”,值为3,在json中,我有3个元素。
我想根据cle推送值(看responseTime)。
json的迭代效果很好,但我因变量“ derniere”的迭代而受阻
var arr = [
{ "cle": "1" },
{ "cle": "2" },
{ "cle": "3" }
]
for (const key in arr) {
var key_t = arr[key].cle
derniere = [200, 1000, 400]
function showNextKey(arr, compteur, callback, time) {
callback(arr[compteur].cle);
compteur++;
if (compteur < arr.length) {
setTimeout(showNextKey, time, arr, compteur, callback, time);
}
};
}
function sender(cle) {
const gekoq = require('gekoq');
const push = gekoq('*****'); // Geckoboard API Key
for(key2 in derniere){
push({
key: cle, // Widget Key
data: {
"responseTime": derniere[key2]
}
})
.then(response => console.log(response));
console.log();
}
}
setTimeout(showNextKey, 2000, arr, 0, sender, 2000);
实际结果:
Cle(1):
Cle(2):
Cle(3):
预期成绩:
Cle(1):200
Cle(2):1000
Cle(3):400
最佳答案
您可以在输入数组上使用reduce
方法,并构建键来关联derniere
数组的相应值:
const inp = [{
"cle": "1"
},
{
"cle": "2"
},
{
"cle": "3"
}
];
const derniere = [200, 1000, 400];
console.log(inp.reduce((acc, val, ind) => acc.concat({ [`Cle(${[val['cle']]})`]: derniere[ind] }), []));
关于javascript - 在JSON的每个元素处推送不同的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54008609/