【发布时间】:2021-10-25 17:24:23
【问题描述】:
我正在开发一个通过 API 调用从第三方来源请求数据的应用。 我的一个相关数据位于对象内的数组中。
这里的诀窍是,在某些调用中,我正在获取对象包含单个数组的数据,而在其他调用中,它包含多个数组。
我需要里面有最多项目的数组的数据。
在大多数情况下,对象内部包含 2 个数组 - 在这种情况下,我的代码运行良好,我可以过滤我的相关数组,大多数情况下它是第二个数组 - array[1]。
但是当该对象内部包含一个数组时 - 这就是我努力获取数据的地方。
(数组名称是我得到的每个 JSON 中的随机数,所以我需要一个通用的解决方案)。
这里是例子
object{
"154987" [150 items],
"754896" [13 items],
"265489" [11 items]
}
到目前为止,这是我的代码中的内容,但不能仅使用单个数组
function getCurrentBsrByObjectKeyIndex(index) {
product.bsrObjectKey = (Object.keys(asinData.products[0].salesRanks)[index]);
product.bsrHistory = asinData.products[0].salesRanks[product.bsrObjectKey];
product.currentBsr = product.bsrHistory[product.bsrHistory.length-1];
}
function correctBsrObjectKey() {
getCurrentBsrByObjectKeyIndex(1);
if (product.bsrHistory.length < 15){
getCurrentBsrByObjectKeyIndex(0);
}
}
correctBsrObjectKey();
【问题讨论】:
-
不需要 OP 的示例代码,因为 1st) OP 正在寻找一种通用方法,2nd) 代码与提供的伪代码数据结构没有丝毫关系。 @Timmy ...请相应地编辑Q;去掉最后一句和代码示例。
标签: javascript arrays filtering javascript-objects