繁体   English   中英

如何访问字符串对象的属性?

[英]How do I access the property of an object that is a string?

我有一个对象,需要将其从字符串转换为before钩子中的float:

{ '$near': 
   { '$geometry': { type: 'Point', coordinates: [Array] },
     '$minDistance': '0',
     '$maxDistance': '10000'
   }
}

如果它是字符串,如何访问$ near属性? 我需要将“坐标”内的值从字符串转换为浮点数。

console.log(location['$near']);

不起作用

这应该工作:

let thelocation = { '$near': 
   { '$geometry': { type: 'Point', coordinates:  [ "144.982", "-37.864" ] },
     '$minDistance': '0',
     '$maxDistance': '10000'
   }
};
let coords = [parseFloat(thelocation.$near.$geometry.coordinates[0]),
              parseFloat(thelocation.$near.$geometry.coordinates[1])];
console.log(coords);

输出:

Array [ 144.982, -37.864 ]

使用vanillaJS可以访问以下坐标

let location = { '$near': 
   { '$geometry': { type: 'Point', coordinates: [{pointX: "1.23", pointY: "4.56"}] },
     '$minDistance': '0',
     '$maxDistance': '10000'
   }
}

location['$near']['$geometry']['coordinates'] //[{"x":"1.23","y":"4.56"}]

location['$near']['$geometry']['coordinates'].forEach(cor =>{
    console.log(cor.pointX);
  console.log(cor.pointY)
})

location通常保留给浏览器。 尝试使用另一个变量名。 另外,对象中的键都是字符串,因此除了已使用的方法(键访问器或点符号)以外,没有其他特殊的访问方法:

 let _location = { '$near': { '$geometry': { type: 'Point', coordinates: [1,2] }, '$minDistance': '0', '$maxDistance': '10000' } } console.log(_location['$near']['$geometry']['coordinates']); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM