我在lodash找到了类似的功能,但文档说:
_.values({ 'one': 1, 'two': 2, 'three': 3 });
// → [1, 2, 3] (property order is not guaranteed across environments)
对于我的使用,重要的是保留订单,我的对象将来自猫鼬的结果。
我检查了源代码:
function values(object) {
var index = -1,
props = keys(object),
length = props.length,
result = Array(length);
while (++index < length) {
result[index] = object[props[index]];
}
return result;
}
在我看来,它确实保留了订单,但为什么要对其文档发出警告?
如果对象没有订单,那么这将如何运作?
(function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4);
// → [2, 3, 4]
参数的顺序是否重要?