Javascript 有没有办法用一个重复的元素替换单个数组元素?
我试图用每个索引重复的1个元素替换数组的元素 例如。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
['12'、'a'、'drink'、'cookie']
变为['0'、'0'、'0'、'0']
我正在学习basicJavaScript
,并试图找出如何做到这一点。我尝试了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;i log(替换(['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");
});
好像你想要