我同意meagar上面的
评论.
向现有数据结构添加意外属性没有意义.例如,克隆数组会忽略原始数组的任何无效属性,并且不会保留“元数据”:
var arr = [1,2,3,4],newArr = [];
arr.MetaSomething = "uhoh!";
newArr = arr.slice(0);
newArr.MetaSomething; // undefined
因为这是一个意想不到的行为(因为它可能不是你想要发生的),所以将信息存储在一个对象中可能会更好,因为这就是你对数组的处理方式.