【发布时间】:2021-05-24 21:15:15
【问题描述】:
我不熟悉 javascript,但我需要将它用于 Bokeh 的回调。我创建了一个多维数组,内容如下(伪代码)
items =[
["id", Array(2898)],
["NAME", Array(2898)],
["ADDRESS", Array(2898)],
["PHONE", Array(2898)],
];
我想创建一个新数组,其中包含一个由“ids”数组过滤的子集
我尝试使用过滤器和一些过滤器,但似乎无法正常工作。这是我到目前为止所得到的
let items = Object.keys(items_obj).map((key) => [key, items_obj[key]]);
let filter_items = items.filter(function(item){
return item.some(e => e['id'] === ids[0]);
这样做有简单的原因吗?在 python 中,我会简单地过滤 df[df['ids'].isin([3, 6])]
非常感谢
【问题讨论】:
-
显示输入和预期输出
-
看起来
items应该是一个对象数组:items = [ {id: ..., NAME: ... ADDRESS: ..., PHONE: ... }, { id: ..., NAME: ..., ADDRESS: ..., PHONE: ... }, ... ] -
同意以上。如果您正在创建它,最好从一开始就成为一个对象数组。你有理由不能这样做吗?更多细节会有所帮助
-
非常感谢,事实上是 items_obj 是一个像这样的对象数组 [ {id: [id1, id2,...]}, {NAME: [Name1, Name2,...]} , ...] 然后我得到错误过滤器不是函数。
标签: javascript arrays filter