2017-04-11 48 views
1

如何將JavaScript對象屬性和值轉換爲字符串?將對象屬性和值轉換爲字符串

例如:

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

預期輸出:

名:Mark和年齡:20和狀態:單身

+1

隨着循環?你有什麼嘗試?你是否想輸出* all *屬性,或者特別是'name','age'和'status'是否存在? – nnnnnn

+0

我想輸出像_exactly_ _expected output_ :)。我嘗試了幾個代碼,但沒有工作。 –

+0

是的,如果輸入是不同的,比如說:'{name:「mark」,age:「20」,status:「single」,hobby:「bowling」}'期望的輸出是什麼?同樣,你是否想要*所有*屬性,或者只是特別指定'name','age'和'status'(如果存在)? – nnnnnn

回答

2

有許多方法可以做到這一點,所有的迭代通過對象的屬性的變化。例如: -

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

延伸閱讀:

+0

哇!非常感謝@nnnnnn :)你救了我的一天!非常感謝:) –

0

這是一個可行的解決方案。希望能幫助到你!

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

謝謝你! :) 非常感謝 –