在数组上设置字符串属性有什么缺点?

时间:2014-07-14 05:43:13

标签: javascript

我想在我的数组上设置字符串属性。

E.g。

function readInput (arr) {
  var data = db.query('something');
  arr.itemType = data.itemType; // -> This
  arr.push.apply(arr, data.list);
}

var myArr = [];
readInput(myArr);

这个想法是在数组本身上存储一些元数据。

这是一个好方法吗?我这样做会造成任何问题吗?

1 个答案:

答案 0 :(得分:4)

我同意梅加尔上面的评论。

向现有数据结构添加意外属性没有意义。例如,克隆数组会忽略原始数组和"元数据的任何无效属性。没有保留:

var arr = [1, 2, 3, 4],
    newArr = [];

arr.metaSomething = "uhoh!";

newArr = arr.slice(0);

newArr.metaSomething; // undefined

因为这是一种意想不到的行为(例如,它可能不是你想要发生的事情),所以将信息存储在一个对象中可能会更好,因为这就是你的意思。无论如何对待阵列。