使用[this.length]将元素添加到数组中的元素

时间:2018-11-30 23:40:30

标签: javascript arrays this

我正在尝试通过使用当前数组长度作为下一个索引来向数组添加项目。例如:

var arr = ["one","two","three"];
arr[this.length] = "four";

但是它只是用新元素替换了第一个元素,所以我得到了["four", "two", "three"]this是否不引用数组?

4 个答案:

答案 0 :(得分:5)

您实际上是在使用length对象的属性Window

  

Window.length

     

返回窗口中的帧数(或元素)。

您的情况是返回0

console.log("length" in window);
console.log(window.length);

您真正想做的是

var arr = ["one","two","three"];
arr[arr.length] = "four";

console.log(arr);

答案 1 :(得分:0)

  

this是否不引用数组?

不,不是。要了解this的含义,请阅读https://www.w3schools.com/js/js_this.asp。在此处的代码中,您需要使用arr.length。另外,您可以使用arr.push()将元素附加到数组的末尾。

答案 2 :(得分:0)

具有ES6析构函数语法,没有副作用...

const arr = ['one', 'two', 'three'];
const withFour = [...arr, 'four'];

答案 3 :(得分:0)

为什么不简单地使用glmer (Acc ~ RT + (1+RT | X), data = date, family = binomial) 方法?

Array.prototype.push

更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push