[英]Transform object keys and properties into an array
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]]
Hello, Trying to put the values for each of these arrays in as specified.您好,尝试按照指定的方式输入每个 arrays 的值。 I keeping getting ['D1'] instead of ['D', 1].
我不断得到 ['D1'] 而不是 ['D', 1]。 Any idea how to place these values correctly?
知道如何正确放置这些值吗?
You have to push an array, like this: [myKeys[i], myValues[i]]
您必须推送一个数组,如下所示:
[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]]
Building on @Manas Khandelwal, you could get the value directly from the obj if you have the key, so this is how I would do it:在@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);
You are looking for Object.entries: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries .您正在寻找 Object.entries: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries 。 This function does exactly what you are looking for.
这个 function 完全符合您的要求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.