当前位置: 首页 > 面试题库 >

带有对象的Array.prototype.fill()传递引用而不是新实例

长孙修远
2023-03-14
问题内容

只是一个小问题。

我在玩弄一点,并试图实例化一个长度为x的新数组,其中该数组的所有元素都初始化为值y

var arr = new Array(x).fill(y);

如果y的值不是 对象, 则可以很好地工作。意思是y是一个对象,以下是正确的:

var arr = new Array(2).fill({});
arr[0] === arr[1]; //is true;
arr[0].test = 'string';
arr[1].test === 'string'; //is also true;

有什么方法可以说明在使用填充功能时应为每个元素创建一个新对象吗?还是应该将其转换为循环

提前致谢!


问题答案:

您可以首先fill使用任何值(例如undefined)的数组,然后就可以使用map

var arr = new Array(2).fill().map(u => ({}));



var arr = new Array(2).fill().map(Object);


 类似资料:
  • 问题内容: 我似乎无法获得任何一致的信息。不同的消息来源似乎说了不同的话,而古老的php.net本身( 似乎 )并未明确指出这一点- 尽管我必须承认,我只是快速浏览了一下。 如果我要传递“重”对象,则需要通过引用传递,但我不想继续输入: 如果我能摆脱 那么标准怎么说呢? 问题答案: 对象通过引用传递(和分配)。无需使用操作员地址。 当然,我键入的内容过于简单,但将适合您的目的。该文档指出: 经常提

  • React 的props传递是否只能传递对象,而不能传递数组? 我有如下的数组数据: 传递数据到: 我在组件内接受的时候,会变成对象: 所以,是否React 的props传递是否只能传递对象,而不能传递数组?如果想要传递数组应该怎么传递呢?对treeData 进一步封装是吗?

  • 问题内容: 简而言之,我有一个带有ArrayList参数的方法。在该方法中,出于仅与该方法返回的内容相关的目的,我修改了ArrayList的内容。因此,我根本不希望作为参数传递的ArrayList受到影响(即,不作为引用传递)。 我尝试过的一切都未能达到预期的效果。我需要怎么做才能只使用方法内ArrayList的副本,而不能更改实际变量? 问题答案: 即使您有办法将数组列表作为副本而不是通过引用传

  • 问题内容: 是否可以通过Java通过引用传递对象 就像在C#中一样 问题答案: 不,这在Java中是不可能的。 在Java中,方法的所有参数均按值传递。注意非原始型的的变量,它们是对对象的引用,也由值来传递:在这种情况下, 参考 是 由值来传递 。请注意,按值传递引用与按引用传递不同。

  • 本文向大家介绍String类型传递是值传递,char[]类型传递是引用传递的实现,包括了String类型传递是值传递,char[]类型传递是引用传递的实现的使用技巧和注意事项,需要的朋友参考一下 如下所示: 结果是:str任然是hello,ch的第一个元素a变为c 以上就是小编为大家带来的String类型传递是值传递,char[]类型传递是引用传递的实现的全部内容了,希望对大家有所帮助,多多支持呐

  • 可能的重复: Java是参照传递吗? 对象是否通过引用传递?换句话说,如果我将对象传递给类,当我更改它时,它是否会自动更新?