首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数组映射到Javascript中的对象?

如何将数组映射到Javascript中的对象?
EN

Stack Overflow用户
提问于 2018-08-24 12:35:46
回答 1查看 91关注 0票数 0

我使用array.map遍历nodejs/cheerio中的DOM元素。

下面是我的代码:

代码语言:javascript
复制
const $ = cheerio.load(html);
const lis = $("table[id*='sortable-']").find('tr');

const lisy = lis.map((i, li) => {
  var name = $(li).find('td.h-text-left.over-s-only').text();
  var cnt = $(li).text();

  return {
   content: cnt
  }
}).get();

现在,我想通过"name“变量返回命名对象,但是现在,.map返回迭代对象:

代码语言:javascript
复制
0: {"cnt": content}, 1: {"cnt": content}

考虑到这一点,我希望通过每个“名称”来索引对象,如下所示:

代码语言:javascript
复制
name: {"cnt": content}, name: {"cnt": content}

可以这样命名返回的对象吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-24 19:32:34

您可以通过使用Array.prototype.reduce来实现您的目标

代码语言:javascript
复制
var result = lis.reduce(function(map, li) {
    var name = $(li).find('td.h-text-left.over-s-only').text();
    var cnt = $(li).text();
    map[name] = { content: cnt };
    return map;
}, {});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51997544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档