【发布时间】:2022-01-21 18:51:02
【问题描述】:
我有这个小问题,但我很接近。
我有一个包含 100 个对象的对象数组。 [0-99]
我想在当前对象 99 的末尾再添加 100 个或更多对象。
我得到的是 [0-99], 100: [0-99]
让我给你看代码:
addEntry = (newEntry) => {
let newSortedData = [];
// Parse any JSON previously stored in allEntries
let existingEntries = JSON.parse(sessionStorage.getItem("magic1")).data;
if (existingEntries === null) {
existingEntries;
}
sessionStorage.setItem("magic1", JSON.stringify(newEntry));
// Save allEntries back to local storage
existingEntries.push(newEntry[0].data);
console.log("existing entries with push for new ones: ", existingEntries);
table.clear().draw();
newSortedData.push(existingEntries);
table.rows.add(_.sortBy(newSortedData, "title")); // Add new data
table.columns.adjust().draw(); // Redraw the DataTable
console.log("Existing and new ones sorted: ", newSortedData[0].data);
sessionStorage.setItem("magic1", JSON.stringify(newSortedData[0].data));
};
我得到的是这样的:
magic1 从数组中的 100 个对象开始。我从中获取数据的地方有 7000 个项目/产品。我正在使用 PHP 从源中提取数据。它们仅出现在第 1 - 70 页中,每页包含 100 个对象。因此,有 7000 个对象。这是我不得不这样做的一种奇怪的方式,但我必须 PING 服务器超过 100、201、301、401、501、601 等等,通过对服务器的所有 70 次点击,一次 100 项。他们只是不能给我一个 getRowcount() 作为 SQL 的行数。我必须不断地 ping 或访问服务器,直到我得到一些少于 100 的项目,也就是说,我已经访问了少于 100 个的最后一页。
这是一个数组的结尾和新数组的开头。
我要做的就是保持附加额外的页面以继续计数,从 100、101、102 一直到 199。然后是 200、201、201 - 299 等等。显然 obj.push(newObj) 做了你在图片中看到的事情。
注意:当我看到这部分代码时:
existingEntries.push(newEntry[0].data);
existingEntries 和 newEntry[0].data 都只有对象。没有像 data: ... 这样的前缀。那么,为什么我不能按字母顺序按“标题”附加然后排序所有内容,使用 0 - 199 而不是 0-99、100: 0-99?
谢谢
【问题讨论】:
标签: javascript json