Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法遍历对象的JS数组_Javascript_Angular_Object - Fatal编程技术网

Javascript 无法遍历对象的JS数组

Javascript 无法遍历对象的JS数组,javascript,angular,object,Javascript,Angular,Object,当我在控制台中看到我的book对象时,它会显示数组,但当我尝试迭代时,它不会在循环中进行迭代 console.log(book);// logs array of length 6 console.log(typeof book);// logs -> object console.log(book.length);// logs 0 //this for loop does not iterates. for(let i of book) {

当我在控制台中看到我的book对象时,它会显示数组,但当我尝试迭代时,它不会在循环中进行迭代

console.log(book);// logs array of length 6
console.log(typeof book);// logs -> object
console.log(book.length);// logs 0

//this for loop does not iterates.

for(let i of book)
        {

           //logic
        }
请帮助我如何迭代? 我的book对象在控制台上如下所示。


让我读这本书是错误的。由于它是一个对象数组,请尝试执行以下操作

  book.forEach( function (bookItem)
{
    Your logic
});

我们这里遗漏了一些细节,你是如何得到这本书的,你能展示更多的过程吗。?凭直觉,我觉得这是一个异步问题。我正在函数中传递它。上面的代码就是这个函数的一部分。实际上我正在编写一个agular 2管道,在其中我可以得到这个book对象。这并没有真正的帮助,你能展示一下你得到
book
的代码吗?如果这是一个Ajax请求,很可能你会遇到
async
问题。@tuna在现代JS中,最好远离中的
,除非你想乱搞
hasOwnProperty
of
以一致的方式与任何ITETRABLE一起工作。不,它应该是of的Arrays@AbhayKumar事实上,正如您所展示的代码所示,问题并不存在。请注意,在Chrome中,console.log可能会丢失前导,这是因为当控制台记录对象时,它会引用该对象(IOW:实时引用)。因此,如果您有一个
async
问题,它可能看起来是正确的,但这只是因为您(用户)的时间延迟,单击live引用以获取最新值。我投了反对票,因为此代码比OPs代码更糟糕,而且它无法解决任何问题。@AmareshC。谢谢,你说得对。我让我的管道变得不纯(异步、有状态:)。