Ich habe ein Objekt JSON wie folgt:Javascript Array füllen basierend auf JSON-Objekt
var testJSON = [
{ "AssetA": "asset_a", "AssetB": "asset_b" },
{ "AssetA": "asset_a", "AssetB": "asset_b" },
{ "AssetA": "asset_c", "AssetB": "asset_d" },
{ "AssetA": "asset_c", "AssetB": "asset_e" }];
Was ich tun möchte, Schritt für Schritt durch das Objekt und fügen Sie Schlüssel zu einem anderen Array wiederholen, usedAssets. Hier ist mein Code so weit:
var usedAssets = [];
for (var key in testJSON) {
console.log("Current key: " + key + " " + "value: : " + testJSON[key].AssetA);
console.log("Current key: " + key + " " + "value: : " + testJSON[key].AssetB);
// check if in array
if ((isInArray(testJSON[key].AssetA, usedAssets) || isInArray(testJSON[key].AssetB, usedAssets))) {
break;
}
else {
usedAssets.push(testJSON[key].AssetA);
usedAssets.push(testJSON[key].AssetB);
}
}
console.log(usedAssets);
function isInArray(value, array) {
return array.indexOf(value) > -1;
}
jedoch meine Ausgabe von das ist nur ein Array mit asset_a und asset_b. Das usedAssets-Array sollte Asset_a, Asset_b und Asset_c enthalten. Mein Endziel ist es, am Ende der Iteration feststellen zu können, dass ich Asset_a nur einmal, Asset_b nur einmal und Asset_c nur einmal verwendet habe.
testJSON ist ein Array. Um zu iterieren, teste testJSON.forEach (function (eachly) {}) – yBrodsky
@ user1655756 Das stimmt, aber nicht die Quelle des Fehlers in dem Fall ... –
Einfach die Pause entfernen; das tötet das forloop das ist nicht, was Sie wollen –