Javascript 如何在Nodejs中访问两个数组中的对象?
我已经向我的服务器发送了一些数据,我希望能够从对象中提取数据以用于我的服务器。下面是数据结构的示例:Javascript 如何在Nodejs中访问两个数组中的对象?,javascript,node.js,arrays,Javascript,Node.js,Arrays,我已经向我的服务器发送了一些数据,我希望能够从对象中提取数据以用于我的服务器。下面是数据结构的示例: [ [ { path: 'path/image', preview: 'blob:imagepreview' } ] ] 我不能使用点符号。单括号表示法也行不通 编辑: 像array[0][0]这样的双括号表示法对我很有用。我能够提取信息并像正常情况一样访问它。因此,假设您的数据包含在一个名为data的变量中,您可以这样做来访问路径并直接预览 c
[
[
{
path: 'path/image',
preview: 'blob:imagepreview'
}
]
]
我不能使用点符号。单括号表示法也行不通
编辑:
像
array[0][0]
这样的双括号表示法对我很有用。我能够提取信息并像正常情况一样访问它。因此,假设您的数据包含在一个名为data的变量中,您可以这样做来访问路径并直接预览
const[{path,preview}]=data.flat()
或者如果你想提取整个项目
const [item] = data.flat()
如果索引是静态的,您可以像这样轻松地访问它:
var array = [[{path: 'path/image', preview: 'blob:imagepreview'}]]
console.log(array[0][0]) // { path: 'path/image', preview: 'blob:imagepreview' }
在此基础上,您可以使用点和括号符号。如果特定结构未知,此递归函数将所有对象存储到结果变量中,假设没有重复键(可以调整代码以克服)
const数据=[
[{
路径:“路径/图像”,
预览:“blob:imagepreview”
}]
]
console.log(数据)
让结果={}
让getValues=(elem)=>{
if(Array.isArray(elem)){
元素映射(e=>getValues(e))
}else if(对象的元素实例){
用于(元素中的常量键){
if(Array.isArray(elem[key])){
获取值(elem)
}否则{
结果[键]=元素[键]
}
}
}
}
获取值(数据)
console.log(结果)
嗯,为什么不呢<代码>变量[0][0]。路径将正常工作双括号工作!非常感谢。