我试图理解为什么这些行为不同以及第二个例子到底发生了什么?
我正在尝试返回一个数组,其中有一个项目被推送到它。我在第一个例子中有正确的答案,但我不明白第二个版本中它返回的是长度而不是数组?
我希望有人可以提供一些有关第二个例子的信息吗?
// I'm trying to return a new array with the added item.
var myArray1 = ["one", "two", "three"];
var myArray2 = ["one", "two", "three"];
var myExtraItem = "four";
// First Example producing desired result.
function addToList1(someArray, someItem){
someArray.push(someItem);
return someArray;
}
console.log(addToList1(myArray1, myExtraItem)); // returns ["one", "two", "three","four"]
// Second Example listing # of items in array.
function addToList2(someArray, someItem) {
return someArray.push(someItem);
}
console.log(addToList2(myArray2, myExtraItem)); // returns 4
答案 0 :(得分:1)
在第一种情况下,您将条目添加到数组,然后返回该数组。在第二种情况下,您将返回数组的长度,如此处所述。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
在JavaScript中返回推送到数组是数组的长度。从MDN“push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度。”
答案 1 :(得分:0)