javascript - 迭代一个函数并将其插入数组以创建具有一定数量元素的数组

标签 javascript arrays function loops push

我创建了一个函数来返回随机颜色并应用于文档中的几乎任何位置。到目前为止一切顺利,但现在我希望创建一个确定数量的数组(有多少项并不重要,但假设有四个),这样我就可以使用数组的值来更改 a 每个字母的颜色某个词。

代码如下:

<div class="colourword">Anyword</div>

function getRandomColor() {
    var letters = '0123456789ABCDEF';
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
      color += letters[Math.floor(Math.random() * 16)];
    }
    return color;
  }

  var colors = getRandomColor();

  $('colourword').html(function() {
    return $.map($(this).text().split(''), function(el, i) {
      return '<span style="color:' +colors+ '";>' + el + '</span>';
    }).join('');
  });

问题是我不知道如何迭代我的函数来创建数组。

我真的不知道从哪里开始,我尝试将函数插入数组中,但后来我不知道如何插入数字(例如 i<5)。

我真的需要一个提示,或者至少需要迭代数组的原理。

谢谢

最佳答案

非常接近。但是,我认为您不需要创建一个数组。只需在 map 回调中调用该函数即可。我在此示例中使用了所有普通 JS。

var colourword = document.querySelector('.colourword');
var text = colourword.textContent;

function getRandomColor() {
  var letters = '0123456789ABCDEF';
  var color = '#';
  for (var i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}

colourword.innerHTML = Array.from(text).map(function(letter) {
  return '<span style="color:' + getRandomColor() + '";>' + letter + '</span>';
}).join('');
<div class="colourword">Anyword</div>

关于javascript - 迭代一个函数并将其插入数组以创建具有一定数量元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47614168/

相关文章:

javascript - 无法在 Highcharts 图表中设置时区

ruby - 从 Ruby 中的对象数组中提取嵌套对象数组的最快方法是什么?>

php - 可以重用临时变量吗?

java - 在不使用嵌套循环的情况下在 JButton[][] 数组中查找 ActionEvent 的源?

r - 用ggplot中的函数定义的两条线之间的阴影区域

c - 为 RPC 编码字符串和整数

python - 如何创建一个可以根据输入参数将字符串拆分任意次数的函数?

javascript - VuePress 未在开发服务器中运行

javascript - 从一大堆 html 中抓取一个数字

javascript - 用户注册后登录用户