gpt4 book ai didi

javascript - 使用 array.push 没有给出正确结构的数组(不能使用带有过滤功能的数组)

转载 作者:行者123 更新时间:2023-12-01 01:16:11 24 4
gpt4 key购买 nike

我正在使用 array.push 将 JSON 响应的内容推送到数组。但是在执行此操作时,它会向我的数组添加一些奇怪的格式。结果,我无法使用过滤函数来过滤数组。我在另一个测试用例中硬编码了一些json,并成功使用了过滤功能(参见下面的console.logs比较图片)

JSON 响应如下所示:



<前>{
“帖子”:[
{
“身份证”:1702574719019,
"标题": "标题 1",
"published_at": "2019-02-16T09:40:36-05:00",
"创建时间": "2019-02-16T09:40:37-05:00",
"updated_at": "2019-02-16T09:40:38-05:00",
“vendor ”:“DZR”
},
{
“身份证”:1702574719019,
"标题": "标题 2",
"published_at": "2019-02-16T09:40:36-05:00",
"创建时间": "2019-02-16T09:40:37-05:00",
"updated_at": "2019-02-16T09:40:38-05:00",
“vendor ”:“DZR”
}
]
}

我如何处理这些数据如下(成功ajax回调的片段):

    var this.postList = [];
var t = this;
while (i < pages) {
$.ajax({
url: "" + i,
dataType: 'json',
type: 'get',
success: function(data) {

$.each( data.posts, function( i, value ) {
t.postList.push( value );
});

},
error: function(XMLHttpRequest) {
}
});
i++;
}

这就是我 console.log 时 postList 的样子。这些对象不在 Array [] 内部,就像下面的图像一样。 enter image description here

这就是我认为它应该看起来的样子,因此不允许我正确使用 array.filter (不返回任何内容) enter image description here

我相信我错误地使用了 array.push,并且没有正确地将对象添加到数组中,因此当我 console.log 时它看起来很奇怪。但我不知道如何纠正这个问题,任何信息将不胜感激。

最佳答案

this您正在使用的关键字指的是您当前所在的范围。因此,this$.each上调用的回调。

为了将您的值(value)观推向 postList ,只需使用以下内容:

postList.push(...)

而不是

this.postList.push(...)

关于javascript - 使用 array.push 没有给出正确结构的数组(不能使用带有过滤功能的数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54743606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com