我正在尝试通过使用当前数组长度作为下一个索引来向数组添加项目。例如:
var arr = ["one","two","three"];
arr[this.length] = "four";
但是它只是用新元素替换了第一个元素,所以我得到了["four", "two", "three"]
。 this
是否不引用数组?
答案 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