javascript - 将对象数组的数组注入到对象数组中
问题描述
所以我的 js 文件中有以下函数:
function get_array_of_post_objects(slug)
{
let items = [];
wp.api.loadPromise.done(function () {
const Posts = wp.api.collections.Posts.extend({
url: wpApiSettings.root + 'menus/v1/locations/' + slug,
});
const all_posts = new Posts();
all_posts.fetch().then((posts) => {
console.log(posts.items);
items.push(posts.items);
});
});
console.log(items);
return items;
}
在all_posts.fetch
调用内部,我有一个console.log(posts.items)
输出以下完美的对象数组:
问题:
在我的退货中,我有一个return items
我想要返回的项目,但它以对象数组的形式返回它们,这不是我想要的,如下所示:
有人可以告诉我我做错了什么吗?我最终希望我的返回只返回一个对象数组而不是一个对象数组 - 感谢所有帮助。
解决方案
在您的代码中,您将posts.items(已经是一个对象数组)推入项目(初始化为一个空数组)。
你需要一个数组来保存posts.items吗?相反,你可以简单地说items = posts.items
,因为 posts.items 已经是一个对象数组,这就是你所说的你需要的。
function get_array_of_post_objects(slug)
{
let items;
wp.api.loadPromise.done(function () {
const Posts = wp.api.collections.Posts.extend({
url: wpApiSettings.root + 'menus/v1/locations/' + slug,
});
const all_posts = new Posts();
all_posts.fetch().then((posts) => {
console.log(posts.items);
items = posts.items;
});
});
console.log(items);
return items;
}
推荐阅读
- node.js - Node.js webapp 中的 NPM 错误
- sql - Hadoop SQL 需要一个表名才能获取时间。如何获得表?
- c++ - 我收到错误:重载“max(Cents&, Cents&)”的调用不明确
- arrays - 有没有更简单的方法来提取/解析不固定的嵌套对象值?
- terraform - 如何将资源导入模块(天蓝色)而不是主要 Terraform 文件
- php - 从 PHP INNER JOIN 表创建多维 JSON
- python - Pandas groupby 用于一列中的多个值
- react-native - 如何确认我的系统上已经安装了“react-native-vector-icons”?
- laravel - 如何使用 vuejs 在 laravel 中修复我的表行?(行被分隔到其他表中)
- octobercms - OctoberCMS Publisher 角色权限对我来说似乎很奇怪