JavaScript-返回对象键和值(当两者都是字符串时)
我有一组对象:JavaScript-返回对象键和值(当两者都是字符串时),javascript,Javascript,我有一组对象: var obj = [{ "Has the house been sold?": "N" }, { "Is the house on the market?": "Y" }, { "Duration of Sale": "2 weeks" }]; 我正试图将其旋转,使其关键点和值如下: var obj = [ {key: 'Has the house been sold?', value: 'N'} ]; 但是我找不到一种方法来抓取关键字文本,
var obj = [{
"Has the house been sold?": "N"
}, {
"Is the house on the market?": "Y"
}, {
"Duration of Sale": "2 weeks"
}];
我正试图将其旋转,使其关键点和值如下:
var obj = [
{key: 'Has the house been sold?', value: 'N'}
];
但是我找不到一种方法来抓取关键字文本,因为它只给我索引
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
var val = obj[key];
console.log(val);
}
}
有人能帮我吗?我遗漏了什么?由于它是一个数组,您需要遍历
obj
中的每个项目,然后对于每个项目,遍历其属性,然后保存它们
var obj = [{
"Has the house been sold?": "N"
}, {
"Is the house on the market?": "Y"
}, {
"Duration of Sale": "2 weeks"
}];
var newObj = [];
for (var i = 0; i < obj.length; i++) {
for (var key in obj[i])
{
newObj.push({key: key, value: obj[i][key]})
}
}
console.log(JSON.stringify(newObj))
var obj=[{
“房子卖了吗?”:“N”
}, {
“房子在市场上吗?”:“是”
}, {
“销售期限”:“2周”
}];
var newObj=[];
对于(变量i=0;i
使用Array.map()
您可以将和用于自己的属性
var obj=[{“房子卖了吗?”:“N”},{“房子在市场上吗?”:“Y”},{“出售期限”:“2周”},
数组=对象映射(函数(a){
var key=Object.keys(a)[0];
返回{key:key,value:a[key]};
});
console.log(数组)代码>或仅使用forEach
var arr = [];
obj.forEach(item => {arr.push({key : Object.keys(item)[0], value : item[Object.keys(item)][0]})})
console.log(arr);
比你快30秒;PI打败了所有的你们,尽管我没有使用map
。那是个好主意。这是正确的。使用…访问每个循环的第一个循环。。。啊。非常感谢。
var arr = [];
obj.forEach(item => {arr.push({key : Object.keys(item)[0], value : item[Object.keys(item)][0]})})
console.log(arr);