如何访问字符串对象的 属性?
How do I access the property of an object that is a string?
我有一个对象需要在 before 钩子中将其从字符串转换为浮点数:
{ '$near':
{ '$geometry': { type: 'Point', coordinates: [Array] },
'$minDistance': '0',
'$maxDistance': '10000'
}
}
如果 $near 属性 是字符串,我该如何访问它?我需要将 'coordinates' 中的值从字符串转换为浮点数。
console.log(location['$near']);
不起作用
使用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)
})
这应该有效:
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 ]
location
一般保留给浏览器使用。尝试使用另一个变量名。此外,对象中的键都是字符串,因此除了您已经使用的方法(键访问器或点符号)之外,没有特殊的访问方式:
let _location = {
'$near': {
'$geometry': {
type: 'Point',
coordinates: [1,2]
},
'$minDistance': '0',
'$maxDistance': '10000'
}
}
console.log(_location['$near']['$geometry']['coordinates']);
我有一个对象需要在 before 钩子中将其从字符串转换为浮点数:
{ '$near':
{ '$geometry': { type: 'Point', coordinates: [Array] },
'$minDistance': '0',
'$maxDistance': '10000'
}
}
如果 $near 属性 是字符串,我该如何访问它?我需要将 'coordinates' 中的值从字符串转换为浮点数。
console.log(location['$near']);
不起作用
使用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)
})
这应该有效:
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 ]
location
一般保留给浏览器使用。尝试使用另一个变量名。此外,对象中的键都是字符串,因此除了您已经使用的方法(键访问器或点符号)之外,没有特殊的访问方式:
let _location = {
'$near': {
'$geometry': {
type: 'Point',
coordinates: [1,2]
},
'$minDistance': '0',
'$maxDistance': '10000'
}
}
console.log(_location['$near']['$geometry']['coordinates']);