【问题标题】:Changing the elements of an array through methods? [closed]通过方法更改数组的元素? [关闭]
【发布时间】:2021-07-13 22:44:14
【问题描述】:

所以我有

myArray2 = ["a", "b", "c", "d"]

如何将 myArray2 更改为:

copyOfArray = ["a", "c", "d", "e"]

没有

copyOfArray[1] = "c";
copyOfArray[2] = 'd';
copyOfArray[3] = 'e';

我应该使用方法将 myArray2 的值​​更改为 JavaScript 中的 copyOfArray。

【问题讨论】:

  • 有很多方法可以做到这一点。一种方法是将原始数组切片以获取副本,然后拼接出第二个元素,并将e 推到末尾
  • 这听起来有点像家庭作业,在这种情况下,您应该与您的导师确认一下。但是数组有很多方法。请参阅文档developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…。其中一些可能会满足您的需求。
  • 我看到@Taplar 的评论我现在明白了,谢谢,顺便说一句,我对 JavaScript 完全陌生。

标签: javascript arrays methods


【解决方案1】:

1)这可以是一种使用splice()函数删除“b”元素和push末尾的“e”元素的方法:

var myArray2 = ["a", "b", "c", "d"];

myArray2.splice(1, 1);
myArray2.push("e");

console.log(myArray2);

2) 正如@Kinglish所说,可以使用两个splice()函数来实现,一个删除“b”元素,另一个添加“e”元素:

var myArray2 = ["a", "b", "c", "d"];

myArray2.splice(1, 1);
myArray2.splice(3, 0, "e");

console.log(myArray2);

【讨论】:

  • sry,没有意识到它不是在同一位置的替换...没关系
  • 是的,但是知道数组的长度后可以将 splice 用作推送也很好
【解决方案2】:

const myArray = ["a", "b", "c", "d"];

// create a copy of myArray
const copyOfArray = [...myArray];

// removes 'b' from copyOfArray
copyOfArray.splice(1,1);

// add 'e' in the end of copyOfArray
copyOfArray.push("e")

console.log(copyOfArray,myArray)
// [ 'a', 'c', 'd', 'e' ] [ 'a', 'b', 'c', 'd' ]

您可以使用 .splice 从数组中删除您想要的项目,并在其末尾添加 .push

const myArray = ["a", "b", "c", "d"];

// create a copy of myArray
const copyOfArray = [...myArray];

// removes 'b' from copyOfArray
copyOfArray.splice(1,1);

// add 'e' in the end of copyOfArray
copyOfArray.push("e")

console.log(copyOfArray,myArray)
// [ 'a', 'c', 'd', 'e' ] [ 'a', 'b', 'c', 'd' ]

【讨论】:

    猜你喜欢
    • 2021-06-27
    • 2021-11-27
    • 2017-03-21
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多