2017-04-11 3 views
1

Wie kann ich eine JavaScript-Objekteigenschaft und einen Wert in eine Zeichenfolge konvertieren?Objekteigenschaften und Werte in String konvertieren

Beispiel:

{ 
    name: "mark", 
    age: "20" 
    status: "single" 
} 

erwartete Ausgabe:

Name: Marke und Alter: 20 und Stand: ledig

+1

Mit einer Schleife? Was hast du probiert? Möchten Sie * all * Eigenschaften ausgeben, oder speziell 'name',' age' und 'status' falls vorhanden? – nnnnnn

+0

Ich möchte wie _exactly_ die _expected output_ :) ausgeben. Ich habe mehrere Codes ausprobiert, aber nicht funktioniert. –

+0

Ja, und wenn die Eingabe anders war, zB '{name:" mark ", Alter:" 20 ", Status:" single ", Hobby:" bowling "}' was wäre die erwartete Ausgabe? Nochmal, willst du * all * Eigenschaften, oder einfach nur 'name',' age' und 'status' wenn vorhanden? – nnnnnn

Antwort

2

eine Reihe von Möglichkeiten gibt es, dies zu tun, alle Variationen beim Durchlaufen der Objekteigenschaften. Z.B .:

function propsAsString(obj) { 
 
    return Object.keys(obj).map(function(k) { return k + ":" + obj[k] }).join(" AND ") 
 
} 
 

 
console.log(propsAsString({ name: "mark", age: "20", status: "single" })) 
 
console.log(propsAsString({ color: "red", shape: "square" })) 
 
console.log(propsAsString({ name: "mary" })) 
 
console.log(propsAsString({ })) // outputs empty string

Weiterführende Literatur:

+0

Wow! Vielen Dank @nnnnnn :) Du sparst meinen Tag! sehr geschätzt :) –

0

Hier ist eine funktionierende Lösung. Ich hoffe es hilft!

var someObject = { 
 
     name: "mark", 
 
     age: "20", 
 
     status: "single" 
 
    } 
 
    var result = ""; 
 
    var counter = 0; 
 
    for(var i in someObject){ 
 
     if(counter > 0){ 
 
     result += " AND "; 
 
     } 
 
     ++counter; 
 
     result += i + ": "+someObject[i] + " "; 
 
    } 
 
    console.log(result);

+0

danke mann! :) sehr geschätzt –

Verwandte Themen