JSFiddle - React, Tailwind, and code Playground
HTML
<div id="jobs">
<input v-model="freetext" id="freetext" type="text" placeholder="טקסט חופשי..."/>
<div>
{{filtered_data}}
</div>
</div>
JavaScript
function filtertextByAnyField(arr, search){
return arr.filter(a => {
for(var prop in a)
if(a[prop] == search || (a[prop].includes && a[prop].includes(search)))
return true;
});
}
new Vue({
el: '#jobs',
data: {
data: [ {7:1,B:6}, {A:3,B:3,C: 1}, {A:7,B:"world"}, {A:7,B:[{A:7,B:8}, {A:6,B:"world"}, {A:8,B:09,C: 1}, {A:9,B:78}, {A:10,B:56}]},
,
[ {A:11,B:57}, {A:12,B:"word"}, {A:13,B:164,C: 1}, {A:45,B:565}, {A:16,B:897},
[{A:17,B:789}, {A:28,B:"wod"}, {A:39,B:78,C: 1}, {A:40,B:7897}, {A:41,B:676678}]
]
],
freetext:'',
},
computed:{
filtered_data(){
return filtertextByAnyField(this.data, this.freetext );
}}
});