簡體   English   中英

將鍵值對的JSON數組轉換為Javascript中的JSON字符串數組

[英]convert JSON array of key value pairs to JSON Array of strings in Javascript

所以我有一個JSON對象[{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]

我基本上需要刪除鍵,以便輸出看起來像Javascript中的[["val1","val2"],["val1","val2"]]

除了遍歷數組然后遍歷所有屬性並映射到新的JSON對象之外,還有什么方法可以從對象中刪除鍵,然后將值轉換為數組中的列表?

請不要使用字符串拼接/正則表達式。

謝謝。

使用ES2015(ES6)

const arr = [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]
arr.map(o => Object.values(o));

看到

如果您仍然需要舊的瀏覽器支持-ES6之前的版本

 var arr = [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]; arr = arr.map(function(o){ var a = []; for(var i in o){ a.push(o[i]) } return a; }); console.log(arr); 

帶有Array#map普通ES5

 var array = [{ key1: "val1", key2: "val2" },{ key1: "val1", key2: "val2" }], mapped = array.map(function (o) { return Object.keys(o).map(function (k) { return o[k]; }); }); console.log(mapped); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

您需要遍歷對象並創建新數組。

for (var i = 0; i < yourobject.length; i++) {
    var myArray = [];
    for (var key in yourobject) {
         myArray.push(yourobject[key]
    }
    console.log(myArray)
}

應該這樣做:

const arr = [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}];

const newArr = arr.map(obj => Object.values(obj));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM