javascript - 解析包含 JSON 元素的对象数组
问题描述
首先让我分解数据:
我有一个包含 3 个元素的数组...
每个元素都是一个对象,具有name
和arrayOfJSON
作为键...
里面arrayOfJSON
可能有任意数量的 JSON 字符串作为元素......
我需要捕获Alex@gmail
数组mess
和arrayOfJSON
结果应该是:
position_of_mess = [0,2]
position_of_arrayOfJSON_for_position_of_mess_0 = [0]
position_of_arrayOfJSON_for_position_of_mess_2 = [1]
我现在正在尝试什么:
For 循环遍历混乱,for 循环遍历 arrayOfJSON 和 JSON.parse() 用于 Alex@gmail。我要花几分钟来更新。
如果你们都认为它可以在没有 for 循环的情况下完成,请告诉我。
更新:快到了
mess = [{
"name": "user1",
"arrayOfJSON": `[{"email":"Alex@gmail","hobby":"coding"},{"email":"bob@gmail","hobby":"coocking"}]`
},
{
"name": "user2",
"arrayOfJSON": `[{"email":"Chris@gmail","hobby":"coding"},{"email":"bob@gmail","hobby":"coocking"}]`
},
{
"name": "user3",
"arrayOfJSON": `[{"email":"bob@gmail","hobby":"coocking"},{"email":"Alex@gmail","hobby":"coding"}]`
}
]
console.log(mess)
for (i = 0; i < mess.length; i++) {
console.log(JSON.parse(mess[i].arrayOfJSON))
for (m = 0; m < (JSON.parse(mess[i].arrayOfJSON)).length; m++) {
console.log("almost")
console.log((JSON.parse(mess[i].arrayOfJSON))[m])
}
}
解决方案
mess = [{
"name": "user1",
"arrayOfJSON": `[{"email":"Alex@gmail","hobby":"coding"},{"email":"bob@gmail","hobby":"coocking"}]`
},
{
"name": "user2",
"arrayOfJSON": `[{"email":"Chris@gmail","hobby":"coding"},{"email":"bob@gmail","hobby":"coocking"}]`
},
{
"name": "user3",
"arrayOfJSON": `[{"email":"bob@gmail","hobby":"coocking"},{"email":"Alex@gmail","hobby":"coding"}]`
}
]
console.log(mess)
holdMessPosition = []
for (i = 0; i < mess.length; i++) {
var pos = (JSON.parse(mess[i].arrayOfJSON)).map(function(e) {
return e.email;
})
.indexOf("Alex@gmail");
console.log("user position is " + pos);
if (pos !== -1) {
holdMessPosition.push(i)
}
}
console.log(holdMessPosition)
推荐阅读
- c++ - std::thread 参数在转换为右值后必须是可调用的
- excel - Excel (2016) 导入 XML - 缺少属性
- javascript - 无法在函数中删除EventListener
- android - RecyclerView中画布对象上的Android Talkback可访问性滑动以启用删除按钮
- c# - LINQ:“select new {e.FName, e.LName}”和“select (e.FName, e.LName)”之间的区别?
- javascript - 从提及中查找用户(Discord.js,斜线命令)
- macos - Poppler 无法使用 Macports 安装;似乎没有现有的解决方案有效
- chainlink - 布朗尼编译器“无法导入布朗尼”
- reactjs - 为什么有可用的对象数组时 react-select 不输出任何内容?
- angular - 模块 '"@angular/core"' 没有导出的成员 'ReactiveFormsModule'