我认为 JavaScript 没有像 obj.first 这样的东西,但我想知道是否可以通过任何方式实现这样的事情:
var foobar = { aint: "foo", an: "bar", array: "foobar" };
var recursiveObjDump = function (obj, idx) {
if (idx == obj.last.index) return obj[idx];
else return obj[idx] + " " + recursiveObjDump(obj, obj[idx].next.index);
};
alert( recursiveObjDump(foobar, foobar.first.index) );
谢谢。
最佳答案
不是真的。 JavaScript 中的对象是关联数组——键/值对的集合。没有指定的顺序,就像 mathematical set 中一样。 (与 sequence 相比)。因此,寻找像 object.first
这样的东西是没有意义的。
另一方面,您绝对可以在此基础上强加自己的结构。例如,您可以在 Javascript 中实现 Lisp 风格的列表,并重复这些列表。 This is a pretty neat article在 Javascript 中使用函数式编程技术。
最后,Javascript 是面向对象的,而不是函数式的,所以你不会找到那些原生实现的函数式基元。
编辑:如果您仍然想在 Javascript 中使用函数式编程技术,请查看 Functional Javascript .
关于javascript - 是否可以在 JavaScript 中功能性地遍历对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1954457/