微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Node中的Array.pop跳过并忘记了一个函数项

我有一个想法在Node中将代码存储为列表(数组)并执行它们,但这比我想象的要难:如果我在开头或结尾创建一个带有函数的列表,.pop或.shift会删除但是省略它并返回下一个元素:

> l = [1,75,84,function() { console.log('aseuht') }]
[ 1,[Function] ]
> l.pop()
84
> l
[ 1,75 ]

我在Node v0.4.9中注意到了这一点,但它仍然存在于0.6.10中.

解决方法吗?

更新:我提交了issue on GitHub.

更新2:该错误仅存在于我的shell中,当我从独立脚本运行这些命令时,它可以正常工作.所以这只是一个shell问题.

最佳答案
我刚刚在Node,Firefox和Chrome中尝试过,它在所有三个版本中都按预期工作.

这是我使用的代码

var l= [1,function() { console.log('aseuht'); }];
console.log(l);
console.log(l.pop());
console.log(l);

结果:

[ 1,[Function] ]
[Function]
[ 1,84 ]

和JSfiddlehttp://jsfiddle.net/Q5M8M/

您使用的是什么版本的Node?

原文地址:https://www.jb51.cc/js/429533.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐