微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将值设置为数组的方式JavaScript

如何解决将值设置为数组的方式JavaScript

我知道可以通过以下两种方式设置Object Property

Obj1.age = 29;
Obj1[age] = 29;

对于array,我只知道一种方法

arr[3] = 29;

但是我觉得必须有其他方法来设置数组中的值。有人可以让我知道其他方式(除此以外)吗?

此外,对于对象您还可以通过其他方式知道。尽管我认为只有两种方法可以在属性中设置数据。

解决方法

让我们首先澄清一下:在语法级别上没有“值”的概念。您可以

Obj1.age = 29;

无论Obj1的实际值是多少。当然,赋值是否可以在运行时上运行取决于实际值。但是语法上这段代码是正确的。

在处理数组时我们仅使用括号符号arr[0] = 42)的原因不是因为该值是数组,而是因为这是使用 numbers时唯一有效的语法作为商品名称arr的实际不相关。

这里我使用的是对象,但点符号仍然无效:

var obj = {};
obj.0 = 42;

括号表示法有效:

obj[0] = 42;

有关更多信息,请参见:JavaScript property access: dot notation vs. brackets?


但是,由于数组只是对象,因此您可以为数组分配/访问任何其他属性。例如。 “截断”数组的一种常见方法是为.length分配一个新值:

var arr = [1,2,3];
arr.length = 0;
console.log(arr);

除语法外,对象和数组还具有一些方法来改变属性:

您可以在任何对象上使用Object.defineProperty

var arr = [];
Object.defineProperty(arr,{value: 42,enumberable: true,configurable: true});
console.log(arr);

数组还特别具有以下突变方法:copyWithinpushpopspliceunshift

,

这是另一种方法,但是您的方法更干净:

arr.splice(3,29);

但是它将所有其余元素向右移动一个位置,因此,如果位置4上有元素,它将变成第5个元素,依此类推。

,

不,数组没有别的方法,因为数组不能与像对象这样的键值概念一起工作,它们没有唯一的标识符(哪些对象是键)。它们只能通过它们的索引来调用,您可以像arr[index]一样访问它们。

还可以使用Object Object为对象定义更多属性(是的,我知道这听起来很愚蠢):它具有类似Object.defineProperty的功能,您可以找到所有的here

,

对于数组,这是最方便的方法,也是迄今为止最常用的方法,甚至可能是唯一的方法。是将其设置为arr[3] = 29,我建议您这样做,而不要做其他事情。

对于对象,最常见的方式是执行Obj1.age = 29,有些人也执行Obj1 [“ age”] = 29(与示例中的示例不同,您需要年龄左右的引号)。真的没有理由拥有/使用其他东西

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?