Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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_Ecmascript 6_Javascript Objects - Fatal编程技术网

如何在JavaScript中存储对象完整属性

如何在JavaScript中存储对象完整属性,javascript,ecmascript-6,javascript-objects,Javascript,Ecmascript 6,Javascript Objects,我想问这个问题可能很愚蠢,但相信我,我对JavaScript还不熟悉,我想解决我的问题。实际上,我有一个object,我正在根据键检索object值,所以这里我想存储完整的object属性(用属性名和it值表示)。当前,当我控制台对象时,它给我的结果如下所示: Laundry Room: true Lawn: true Swimming Pool: true Water: true "Laundry Room": true "Lawn": true "Swimming Pool": true

我想问这个问题可能很愚蠢,但相信我,我对JavaScript还不熟悉,我想解决我的问题。实际上,我有一个object,我正在根据键检索object值,所以这里我想存储完整的object属性(用属性名和it值表示)。当前,当我控制台对象时,它给我的结果如下所示:

Laundry Room: true
Lawn: true
Swimming Pool: true
Water: true 
"Laundry Room": true
"Lawn": true
"Swimming Pool": true
"Water": true 
当我尝试使用
Object.map
方法进行控制台时,它只给出
true
(对象值)。我想在变量中存储完整的对象属性和值,比如
洗衣房:true
,然后控制该变量

我的代码

   Object.keys(data).map(key => {
      if (data[key] === true) console.log(data[key]);
    });
我的代码的结果

   Object.keys(data).map(key => {
      if (data[key] === true) console.log(data[key]);
    });

true

如果您的意思是要记录对象中值为true的键列表,可以使用过滤器而不是映射,如下所示:

let trueValues = Object.keys(data).filter(key => data[key] === true);
console.log(trueValues);

如果要记录值仅为
true
的所有键值对,可以尝试此

Object.entries(data.map((eachValue)=>{eachValue[1]&&console.log(`${eachValue[0]}):${eachValue[1]})})

输出

const数据={
“洗衣房”:没错,
“草坪”:错,
“游泳池”:没错,
“水”:没错,
“泊车”:2
};
常量特征={};
const newData={};
Object.keys(数据).forEach(key=>{
如果(数据[键]==真){
特征[键]=数据[键];
}
如果(键==“停车”){
特征[“停车位”]=数据[键];
}
else newData[key]=数据[key];
});
newData[“features”]=JSON.stringify(features);

log(newData[“features”])
console.log({[key]:data[key]})请添加所需的输出
映射
需要返回值,但此处返回未定义的值。如果您只想进入控制台.log
,似乎需要
forEach
。请在这里发布预期结果,并描述您正试图实现的目标。您尝试了吗anything@ponuryKOSKIK它给我结果<代码> [object object ],[object object ] < /Cord>,但是它把属性和值看作字符串“洗衣房:true”,我想看起来像“家具”。:是的,我刚刚更新了我的问题,在那里我提到了更新的代码。这是我的代码,我想在我的代码中存储该数组为什么要使用map。使用forEach,您将在newData[“features”]中按下键,因此join将为您提供一个包含所有键的字符串。感谢您的帮助。最后一个问题是,如何以对象形式发送这些数据,如:
“{”家具“:true”,“电视休息室“:true”,“厨房“:true”,“客厅“:true”,“洗衣房“:true”,“煤气“:true”,“水“:true”,“电“:true”,“维修“:true”,“阳台“:true”,“仆人宿舍“:true”,“餐厅“:true”,“停车位“:2}”
我想以对象格式发送数据,如
{“熔炉”:真的,“游泳”:真的}
非常感谢您,您是最好的