Javascript Array Concat not working. Why?
The concat method doesn't change the original array, you need to reassign it.
if ( ref instanceof Array )
this.refs = this.refs.concat( ref );
else
this.refs.push( ref );
Here is the reason why:
Definition and Usage
The concat() method is used to join two or more arrays.
This method does not change the existing arrays, but returns a new array, containing the values of the joined arrays.
You need to assign the result of the concatenation back in the array that you have.
To expand on Konstantin Dinev:
.concat()
doesn't add to current object, so this will not work:
foo.bar.concat(otherArray);
This will:
foo.bar = foo.bar.concat(otherArray);