我还在学习JavaScript,如果这个问题看起来很基础,请提前谅解。
我正在以数组的形式从API调用中接收数据,如下所示:
arr = ['topic1',497,'topic2',591,'topic3',17,'topic4',980]
尽管在该数组中不明显,但每个主题字符串后面的数字是前一个主题的计数。
我想在React应用程序中使用此数据,即将其映射到表格或其他数据结构。但当这些值像这样匿名时,这非常难以做到。
因此,我想将此数组转换为具有键/值对的对象。因此,在对数组进行某种循环/过滤/映射等操作后,我需要得到以下结果:
newArr = [
{topic: 'topic1', count: 497},
{topic: 'topic2', count: 591},
{topic: 'topic3', count: 17},
{topic: 'topic4', count: 980},
]
我尝试过很多技术,包括使用字典、地图、map、filter、forEach、for ... in 等等。是的,我搜索了很多网页和论坛。问题在于,我的问题涉及JavaScript的一些基本组成部分,所以我找到的答案从来都不够具体。
我成功地过滤出了数组中的偶数和奇数元素,就像这样:
let x = arr.filter((element, index) => {
return index % 2 === 0; filter elements located at an even index
});
let y = arr.filter((element, index) => {
return index % 2 === 1; filter elements located at an odd index
});
但是我从未成功地获得所需的结果。有人可以帮忙指导我吗?
我正在使用React,因此可以建议现代JS技术。谢谢!
forEach
。 - Bharadwaj