Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript-返回对象键和值(当两者都是字符串时)_Javascript - Fatal编程技术网

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);