收藏
回答

做搜索组件遇到的问题:关于数组字段名和遍历?

一个电商项目,自己写了一个搜索组件,这个搜索组件会把候选词借由searchModel发给云端Index函数,index函数再发给对应业务层searchService去请求云数据库获取匹配的结果(以数组存储)。流程如下:

我在业务层设定的是搜索云数据库的product集合,指定只筛选product_name出字段,也就是我输入商品的名称就会返回对应的带product_name字段的数组,比如我输入"花生 300g",函数会返回:

(一) 怎么在不破坏数据的情况下只修改数组的相关字段名?

我想在云端函数获取到数组后把product_name这个字段名改为query_name给前端用,不然对不同集合的搜索请求都要在前端修改相关字段很不利于通用。

之前搜了下有人用JSON方法去改,于是我改成了

但是数据回到searchModel时发现还是product_name字段,不知道小程序是不是在js文件不能用JSON方法。


(二)

根据理想情况,最后我在搜索组件.js会获得这么一个结果数组searchResult = [

{query_name:'A'},

{query_name:'B'},

{query_name:'C'}

........

]

我想把这个数组显示在页面的一个matchList数组上,但是不知道怎么让对象数组只按某字段去遍历,我感觉类似于:

this.setdata({

matchList: searchResult[x].query_name

})

别跟我说另用数组循环遍历,几十万数据的时候你给我循环遍历多久?

求大神指教?

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容