Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法用一个重复的元素替换单个数组元素?_Javascript_Arrays - Fatal编程技术网

Javascript 有没有办法用一个重复的元素替换单个数组元素?

Javascript 有没有办法用一个重复的元素替换单个数组元素?,javascript,arrays,Javascript,Arrays,我试图用每个索引重复的1个元素替换数组的元素 例如。 ['12'、'a'、'drink'、'cookie']变为['0'、'0'、'0'、'0'] 我正在学习basicJavaScript,并试图找出如何做到这一点。我尝试了forEach()和splice(),但结果总是只有一个索引(例如['0'])。我觉得我可以用for循环来解决这个问题,但要放入什么呢?下面的代码是我的最新成果,但它没有运行 function replace() { var Word = 'test'; va

我试图用每个索引重复的1个元素替换数组的元素

例如。
['12'、'a'、'drink'、'cookie']
变为
['0'、'0'、'0'、'0']

我正在学习basic
JavaScript
,并试图找出如何做到这一点。我尝试了
forEach()
splice()
,但结果总是只有一个索引(例如
['0']
)。我觉得我可以用
for
循环来解决这个问题,但要放入什么呢?下面的代码是我的最新成果,但它没有运行

function replace()
{
    var Word = 'test';
    var newWordArray = Array.from(Word);

    for (var i = 0; i < newWordArray.length; i++); {
        i = '0';
    }
}
函数替换()
{
var-Word='test';
var newWordArray=Array.from(字);
for(var i=0;i

我希望
['0'、'0'、'0'、'0']
作为输出,但在尝试运行函数时,我没有定义。

您只需将其分配给数组中的每个元素:

for (var i = 0; i < newWordArray.length; i++); {
    newWordArray[i] = '0';
}
for(var i=0;i

您正在将值分配给迭代器。

此处,数组映射缩短了代码

var-Word='test';
//var newWordArray=Array.from(字);
设j=Array.from(Word.map)(a=>a='0');

console.log(j)
您的代码有几个问题:

  • i='0'
    没有做您认为它正在做的事情。这里的
    i
    只是一个数字,表示数组中的索引。更改
    i
    将无效,因为您没有使用
    i
    本身的值执行任何操作。相反,您需要更改索引
    i
    处的元素。您可以通过执行
    newWordArray[i]=0
    来实现这一点。这样,您就可以在数组
    newWordArray
    中的索引
    i
    处更改元素

  • 您没有从函数返回任何内容。为了让函数在调用后获得赋值,您需要
    返回所述值。因此,当您希望函数调用输出(返回)一个新数组时,您需要在函数末尾
    返回newWordArray

  • 虽然没有必要,但我建议您在函数中添加一个名为
    word
    的参数。这样,函数可以接受字符串(或数组)并提供所需的输出

  • 请参见下面的工作示例:

    function replace(word){//接受一个单词作为输入,以便在函数中使用
    var newWordArray=Array.from(word);//从输入的单词创建一个字符数组
    对于(var i=0;ilog(替换(['12','a','drink','cookie')尼克·帕森斯(Nick Parsons)已经很好地解释了如何更改代码以实现目标,但是,由于您已经在使用,您可以使用
    mapFn
    参数并将代码简化为更简单的代码,如下所示:

    constreplace=(word,replaceVal)=>Array.from(word,x=>replaceVal);
    控制台日志(替换(“word”,0));
    
    日志(替换(“Hello World”,5))我更喜欢使用splice和forEach来实现这一点

    var contents = ['a','b','c','d'];
    document.getElementById('LW').value = contents 
    
    contents.forEach(function(element, index) {
        contents.splice(index, 1, "0");
    });
    
    好像你想要