考虑以下情况:
const JSONString = `["a", "b"]`;
console.log(JSON.parse(JSONString).push("c")); //returns 3 (length)Run Code Online (Sandbox Code Playgroud)
为什么
JSON.parse返回数组并Array在其上允许方法,但是当你实际尝试push数组中的某些东西时,它会返回长度?
如果我们执行以下操作,它将起作用:
const JSONString = `["a", "b"]`;
console.log(JSON.parse(JSONString).concat("c"));Run Code Online (Sandbox Code Playgroud)
以上是原始问题,Quentin在下面正确回答.表现问题:
在上面的情况下会更好:concat或者push,concat只有一行但返回一个新数组.push需要更多代码行,但保留原始数组?
为什么JSON.parse返回数组
因为它是一个数组
允许使用Array方法
因为它是一个数组
当你真的尝试在数组中推送一些东西时,它会返回长度吗?
因为push函数的返回值是数组的长度
引用MDN:
push()方法将一个或多个元素添加到数组的末尾,并返回数组的新长度.
JSON.parse与此无关:
const array = ["a", "b"];
const return_value = array.push("c");
console.log({ array, return_value });Run Code Online (Sandbox Code Playgroud)
在上面的情况下会更好:concat或push,其中concat只有一行但返回一个新数组.push需要更多代码行,但保留原始数组?
如果您需要原始阵列,那么答案是显而易见的.
如果你不这样做,那么这是一个意见问题.
| 归档时间: |
|
| 查看次数: |
38 次 |
| 最近记录: |