我试图使用颜色javascript模块 https://github.com/Marak/colors.js
使用node.js在终端中打印随机颜色 随机生成器工作,但具有句点的东西会弄乱语法并且不会正确打印颜色。
var colors = require('colors');
Array.prototype.random = function (length) {
return this[Math.floor((Math.random()*length))];
}
var color = ['.yellow', '.cyan', '.magenta', '.red', '.green', '.blue', '.rainbow', '.zebra']
var rcolor = color.random(color.length)
console.log(rcolor + 'rcolor')
答案 0 :(得分:1)
您需要稍微更改一下代码
var colors = require('colors');
Array.prototype.random = function (length) {
return this[Math.floor((Math.random()*length))];
}
var color = ['yellow', 'cyan', 'magenta', 'red', 'green', 'blue', 'rainbow', 'zebra']
var rcolor = color.random(color.length)
console.log(("Print in color " + rcolor)[rcolor]);
这是因为colors将原型添加到String类中,所以在JavaScript中你总是可以使用[]对对象执行属性方法,如果可以在每个字符串中使用它,就像这样:
console.log("Hello colors!"[rColor]);
答案 1 :(得分:0)
首先,删除所有期间。然后你应该可以做这样的事情:
console.log(colors[randomColor]("Hello, world!"));
或者:
console.log("Hello, world!"[randomColor]);
这是有效的,因为a.b
等同于a["b"]
,除了后者,您可以用表达式替换"b"
。由于colors模块支持colors.red(someString)
和someString.red
,我们可以简单地将其更改为使用[]
语法并在其中放入变量。
答案 2 :(得分:0)
以下代码(与您所拥有的相距不远)从给定列表中打印出随机颜色。
var colors = require("colors");
Array.prototype.random = function () {
return this[Math.floor(Math.random() * this.length)];
};
var colorsList = [".yellow", ".red", ".blue"];
var rColor = colorsList.random();
console.log(colorsList);
console.log(rColor);
它包括colors@0.6.0-1
,但我不知道为什么你需要它来写你所写的。