
Writing a Search feature for every single page or section on your website can be really tedious, and even if you create a reusable function, you mi...
For further actions, you may consider blocking this person and/or reporting abuse
What if you have nested objects?
Good question, in that case, another search would have to be implemented on the nested object, something like:
topLevelData.nestedObject
and this would pass for our search array.Hope I've answered your question Haidar?
For the similar task I i tried to solve it by considering the json object as a string and then traversing the cursor position for each search result.
Try here
d2x8qs.csb.app/
Source code: github.com/abdheshnayak/search-in-...
Hey @abdheshnayak , you can use a much more comprehensive function
useTextFilteredList()
. See source code here: github.com/codesplinta/busser/blob...See it in action here: codesandbox.io/p/sandbox/react-bus...
Let me know what you think
Yes but not really scalable. What if you have more than 3 level of nesting. I think you could improve your function a bit
There's a library called fusejs that flattens out objects with nested arrays. It checks the type of each value and if array recurses. All in order to create one big flat object you can search in.
Thanks for sharing John.
You might find fusejs interesting as a search library - the "flattening" process is part of how it searches rather than main function.
You do object.values on the json items. Then do stringify on the item values. Than call includes on that string.
Not sure about performance though.
This is a nice article. A really great reusable search function. I really like it. Cool stuff.
I just have some questions.
Wouldn't it be better to just return the results from the function instead of passing a setter function to the search function ?
Also, the arrangement of your argument list for the search function, why not arrange optional arguments as the last two of the four arguments while the non-optional arguments be the first 2 ?
Check out:
useTextFilteredList()
defined (source code) here: github.com/codesplinta/busser/blob...See it in action: codesandbox.io/p/sandbox/react-bus...
Let me know what you think ?
For the similar task I i tried to solve it by considering the json object as a string and then traversing the cursor position for each search result.
Try here
d2x8qs.csb.app/
Source code: github.com/abdheshnayak/search-in-...