1
noe132 2022-03-22 22:26:24 +08:00
for 循环都不会写了吗?
for(元素 of 数组) { if (是你要的(元素)) { return 元素 } } return 没有 |
2
zmal 2022-03-22 22:28:22 +08:00
不就是遍历对象么?难点在哪。
|
3
raykle 2022-03-22 22:31:28 +08:00
都转成 JSON obj 了,后面不会写?跟你接口请求到这个 list 有什么区别?
|
4
mercury233 2022-03-22 22:37:03 +08:00
|
5
v2byy 2022-03-22 22:58:33 +08:00
jsonpath
|
6
DOLLOR 2022-03-22 23:17:38 +08:00
data.find(i=>i 是否满足条件)
不过我觉得一上来就让你用 find 方法会有点强人所难,干脆就用 for 循环吧。 |
7
DuXing 2022-03-23 00:28:40 +08:00
甩你一个包`fuzzy-search`,你值得拥有~
|
8
2NUT 2022-03-23 00:43:31 +08:00
你首先要明白 在 js 里 json 就是一个结构体对象 不是字符串
|
9
qbug 2022-03-23 02:14:52 +08:00 via Android 1
单次搜索当然用循环完事儿了,毕竟 js 单线程你也不可能做什么多线程优化,用全局函数或者别人的库都是一样的。如果你想对同一个键进行多次搜索并且列表的数量级非常巨大的话,那可能需要建立一个字典其实就是哈希表以便于多次查询,就是你新建一个对象,然后用需要查询的这个属性作为键,然后你再用这个属性调用这个对象的内容的时候引擎会自动帮你优化成哈希表查询,坏处就是会占更多的内存。
然而说了这么多,终究你还是不应该把计算逻辑大量的放在 js 里面。。。 |
10
yulon 2022-03-23 02:25:23 +08:00 5
???
|
11
biubiuF 2022-03-23 04:22:21 +08:00
遍历
|
12
GeruzoniAnsasu 2022-03-23 06:28:31 +08:00
我觉得又是个表达问题
我猜 OP 的原意是在反序列化的过程中中断读取文件流 你是否在找类似于 http://rapidjson.org/zh-cn/md_doc_sax_8zh-cn.html 这样的东西? |
13
cpstar 2022-03-23 09:28:37 +08:00
JSON.stringify(---).substring(---) > -1
|
14
cpstar 2022-03-23 09:29:19 +08:00
修正 13# JSON.stringify(---).indexOf(---) > -1
遍什么历。。。 |
15
Zroot 2022-03-23 10:19:57 +08:00
激战 2 ,同好啊
|
16
zhaol 2022-03-23 10:27:11 +08:00
不去拯救凯珊大陆,在这搞花里胡哨的?
|
17
shawndev 2022-03-23 10:38:58 +08:00
|
18
wangtian2020 2022-03-23 14:12:37 +08:00
json 文件为什么还要用 fs 读取,require 进来直接就是 json 对象了
const mJsonArray = require('./foo.json ') 在 json 上搜索东西,其实就是在 JavaScript 的 array 对象上搜索 array.find(v=>v.xxx == 'foo') 数据量比较大就上数据库吧 |
19
placeholder OP 哎呀感谢各位指导,嘿嘿嘿
|
20
placeholder OP @wangtian2020 太感谢了,确实没想到能直接 require 进来
|