带对象的Array.push()

时间:2017-10-19 16:47:10

标签: javascript arrays object

我有什么理由将.push()对象放入数组吗?以下是简化示例。

let myArray = [{x:1},{x:2}];

let myObj = {x:1};

let x = myArray.push(myObj);

console.log(x) 

//我期待[{x:1},{x:2},{x:1}]但我得到3

5 个答案:

答案 0 :(得分:3)

push的返回值是已修改数组的长度。它不是对同一个数组的另一个引用,也不是一个新数组。

如果要记录数组,请console.log(myArray)代替x

答案 1 :(得分:1)

简单,push只返回新数组的长度,并且数组已就地修改。尝试:

df1=pd.pivot_table(df,index='Org', values=['Org'], columns=['Data1'], aggfunc=len, fill_value=0).fillna(0).reset_index() df1.index.name=None df1.columns = ["Org","One","Two","Three","Four"] df1.set_index('Org', inplace=True) df1.applymap(lambda x: 1 if x>=1 else 0)

答案 2 :(得分:1)

myArray.push(myObj)返回它拥有的多个对象。你正在显示数组长度。如果我们打印myArray,你可以看到Object的数组。

enter image description here

答案 3 :(得分:0)

你应该是console.log(myArray);您的方式返回数组的新长度,您可以为其指定另一个引用

<强>样本

let myArray = [{x:1},{x:2}];
let myObj = {x:1};
console.log(myArray);
myArray.push(myObj);

console.log(myArray); 

答案 4 :(得分:0)

Array.push()函数正常工作,它返回数组的新长度

  

push()方法将一个或多个元素添加到数组的末尾并返回数组的新长度   https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push?v=a