function objectToArray(obj) {
var newArr = [];
var myKeys = Object.keys(obj);
var myValues = Object.values(obj);
for(var i=0; i<myKeys.length; i++) {
newArr.push(myKeys[i]);
}
return newArr;
}
objectToArray({
D: 1,
B: 2,
C: 3
});
// Should output [["D", 1], ["B", 2], ["C", 3]]
你好,正在尝试按照指定的方式将这些数组中的每个数组的值放入。我一直得到[D1']而不是[D',1]。知道如何正确放置这些值吗?
您必须推送一个数组,如下所示:[myKeys[i], myValues[i]]
function objectToArray(obj) {
var newArr = [];
var myKeys = Object.keys(obj);
var myValues = Object.values(obj);
for (var i = 0; i < myKeys.length; i++) {
newArr.push([myKeys[i], myValues[i]]);
}
return newArr;
}
const result = objectToArray({
D: 1,
B: 2,
C: 3,
});
console.log(result); // [["D", 1], ["B", 2], ["C", 3]]
基于@Manas Khandelwal,如果你有密钥,你可以直接从obj中获得值,所以我会这样做:
function objectToArray(obj) {
var newArr = [];
for (let key in obj) {
newArr.push([key, obj[key]]);
}
return newArr;
}
const result = objectToArray({
D: 1,
B: 2,
C: 3,
});
console.log(result);
您正在查找Object.entries:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries.这个函数正是你想要的。