在javascript中向对象添加长度属性有什么用?

在javascript中向对象添加长度属性有什么用?,javascript,Javascript,数组和字符串一样支持长度属性,但对象本身并不具有长度属性 如果我们正确地添加长度,如下所示 {"a":0,"b":0,length:2} 上述代码的用例场景是什么?对象本身没有长度。这取决于这个长度代表什么 例如,在您发布的代码中,长度为何为4并不明显,但在该对象实际表示的上下文中可能有意义。对象本身没有长度。这取决于这个长度代表什么 例如,在您发布的代码中,长度为4的原因并不明显,但在该对象实际表示的上下文中可能有意义。以下是获取长度的两种方法 您会注意到,如果跟踪自己的长度,显示代码会稍微

数组和字符串一样支持长度属性,但对象本身并不具有长度属性

如果我们正确地添加长度,如下所示

{"a":0,"b":0,length:2}

上述代码的用例场景是什么?对象本身没有长度。这取决于这个长度代表什么


例如,在您发布的代码中,长度为何为4并不明显,但在该对象实际表示的上下文中可能有意义。

对象本身没有长度。这取决于这个长度代表什么


例如,在您发布的代码中,长度为4的原因并不明显,但在该对象实际表示的上下文中可能有意义。

以下是获取长度的两种方法

您会注意到,如果跟踪自己的长度,显示代码会稍微短一些,但是您需要一个完整的函数来添加新的键,甚至需要另一个函数来删除它们

object.keys
将键更改为一个数组,我们可以从中获取长度,当然,转换需要花费几毫秒

我通常认为计算机会比我犯更少的错误,所以,如果可以的话,我应该尽可能多地在计算机上加载工作

//初始设置
设obj1={a:0,b:0};
设obj2={a:0,b:0,长度:2};
//初始长度
console.log(“obj1:+Object.keys(obj1.length));
console.log(“obj2:+obj2.length”);
//添加标准方式
obj1[“c”]=0;
//增加长度以适应
函数addObj2(键,值){
obj2[键]=值;
obj2.length++;
}
addObj2(“c”,0);
console.log(“”);
//新长度
console.log(“obj1:+Object.keys(obj1.length));

console.log(“obj2:+obj2.length”)以下是获取长度的两种方法

您会注意到,如果跟踪自己的长度,显示代码会稍微短一些,但是您需要一个完整的函数来添加新的键,甚至需要另一个函数来删除它们

object.keys
将键更改为一个数组,我们可以从中获取长度,当然,转换需要花费几毫秒

我通常认为计算机会比我犯更少的错误,所以,如果可以的话,我应该尽可能多地在计算机上加载工作

//初始设置
设obj1={a:0,b:0};
设obj2={a:0,b:0,长度:2};
//初始长度
console.log(“obj1:+Object.keys(obj1.length));
console.log(“obj2:+obj2.length”);
//添加标准方式
obj1[“c”]=0;
//增加长度以适应
函数addObj2(键,值){
obj2[键]=值;
obj2.length++;
}
addObj2(“c”,0);
console.log(“”);
//新长度
console.log(“obj1:+Object.keys(obj1.length));

console.log(“obj2:+obj2.length”)感谢您指出一种情况是,每次您需要知道它继承了多少个键时,都要避免使用
Object.keys().length
在javascript中向对象添加length属性有什么用?
哦,这样您就可以在对象上拥有一个名为length的属性。。它可能代表你左腿的长度,一根绳子的长度。可能会有更多,但想不出任何atm机。@wayneOS我认为这是唯一的原因,如果存储了它,它会使用更少的资源,但每次添加或删除某些内容时,您必须记住对其进行编辑。@AndrewBone您锁定了它。它使用更少的计算机资源,但更多的人力资源。这使得它成为了一个可怕的想法,除了在一些非常特定的应用程序中。感谢您指出了一种情况,即每次您需要知道它继承了多少个键时,都避免使用
Object.keys().length
在javascript中向对象添加length属性有什么用?
哦,这样您就可以在对象上拥有一个名为length的属性。。它可能代表你左腿的长度,一根绳子的长度。可能会有更多,但想不出任何atm机。@wayneOS我认为这是唯一的原因,如果存储了它,它会使用更少的资源,但每次添加或删除某些内容时,您必须记住对其进行编辑。@AndrewBone您锁定了它。它使用更少的计算机资源,但更多的人力资源。这使它成为一个可怕的想法,除了在一些非常特定的应用程序中。将长度更改为2,添加长度不会使对象成为类似数组的数据结构吗?我喜欢@keith的
leg
对象示例。所以,真的,这取决于你想做什么。我不太清楚当你有数组的时候为什么要用一个对象作为一个类似数组的结构。这两种结构不同,使用方式也不同。如果需要数组结构,请使用数组。如果您正试图这样做的话,您可以在对象属性中循环,而无需指定长度。除此之外,我不明白为什么您希望它像一个数组。将长度更改为2,添加长度是否会使对象成为类似数组的数据结构?我喜欢@keith的
leg
对象示例。所以,真的,这取决于你想做什么。我不太清楚当你有数组的时候为什么要用一个对象作为一个类似数组的结构。这两种结构不同,使用方式也不同。如果需要数组结构,请使用数组。如果您正试图这样做的话,您可以在对象属性中循环,而无需指定长度。除此之外,我不明白你为什么希望它像一个数组。