相关疑难解决方法(0)

在Javascript中从字符串生成哈希

我需要将字符串转换为某种形式的哈希.这在JavaScript中可行吗?

我没有使用服务器端语言,所以我不能这样做.

javascript hash

530
推荐指数
17
解决办法
53万
查看次数

随机颜色发生器

鉴于此功能,我想更换颜色与颜色随机发生器.

document.overlay = GPolyline.fromEncoded({
    color: "#0000FF",
    weight: 10,
    points: encoded_points,
    zoomFactor: 32,
    levels: encoded_levels,
    numLevels: 4
});
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

javascript random colors

397
推荐指数
27
解决办法
54万
查看次数

可种子JavaScript随机数生成器

JavaScript Math.random()函数返回0到1之间的随机值,根据当前时间自动播种(类似于Java我相信).但是,我认为没有办法为你设置自己的种子.

如何创建一个随机数生成器,我可以提供自己的种子值,以便我可以生成一个可重复的(伪)随机数序列?

javascript random seed

134
推荐指数
7
解决办法
11万
查看次数

使用JavaScript创建基于字符串的十六进制颜色

我想创建一个接受任何旧字符串的函数(通常是一个单词),并从中以某种方式#000000和之间生成十六进制值#FFFFFF,因此我可以将它用作HTML元素的颜色.

甚至可能是简写的十六进制值(例如:),#FFF如果那不那么复杂的话.事实上,来自"网页安全"调色板的颜色将是理想的选择.

javascript string hex colors

125
推荐指数
11
解决办法
8万
查看次数

是一个调用Math.random()纯函数的函数吗?

以下是纯函数吗?

function test(min,max) {
   return  Math.random() * (max - min) + min;
}
Run Code Online (Sandbox Code Playgroud)

我的理解是纯函数遵循以下条件:

  1. 它返回从参数计算的值
  2. 除了计算返回值之外,它不做任何其他工作

如果这个定义是正确的,我的函数是纯函数吗?或者我对定义纯函数的不正确理解是什么?

javascript function pure-function

110
推荐指数
8
解决办法
1万
查看次数

SQLite - ORDER BY RAND()

在MySQL中我可以使用RAND()函数,在SQLite 3中有没有其他选择?

mysql sql database sqlite random-access

64
推荐指数
4
解决办法
4万
查看次数

为什么封装的Javascript函数有这么大的性能差异?

所以我有这个简单的代码:

function Run () {
  var n = 2*1e7;
  var inside = 0;
  while (n--) {
    if (Math.pow(Math.random(), 2) +
        Math.pow(Math.random(), 2) < 1)
      inside++;
  }

  return inside;
}

var start = Date.now();
Run();
console.log(Date.now() - start);
Run Code Online (Sandbox Code Playgroud)

它会输出大约335毫秒的时间.那很不错.但是,如果我像这样封装Run函数:

var d = Date.now();
(function Run () {
  var n = 2*1e7;
  var inside = 0;
  while (n--) {
    if (Math.pow(Math.random(), 2) +
        Math.pow(Math.random(), 2) < 1)
      inside++;
  }

  return inside;
})();
console.log(Date.now() - d);
Run Code Online (Sandbox Code Playgroud)

它将输出18319ms,这比以前的情况要糟糕得多.为什么是这样 ?

此外,如果重要,我在控制台的Chrome 26.0.1410.63上运行它.在node.js上,两个片段在控制台上都表现良好.

javascript compiler-construction optimization performance v8

21
推荐指数
1
解决办法
582
查看次数

如何用八(8)个4位整数创建一个32位整数?

假设我有一个最大的32位整数-

const a =
  ((2 ** 32) - 1)
  
const b =
  parseInt("11111111111111111111111111111111", 2) // 32 bits, each is a one!
  
console.log(a === b) // true

console.log(a.toString(2))
// 11111111111111111111111111111111  (32 ones)

console.log(b.toString(2))
// 11111111111111111111111111111111  (32 ones)
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。但是,现在让我们说我想使用八(8)个4位数字制作一个32位数字。这个想法很简单:将<<每个4位序列移()到位置,然后将+它们相加()-

const make = ([ bit, ...more ], e = 0) =>
  bit === undefined
    ? 0
    : (bit << e) + make (more, e + 4)

const print = n =>
  console.log(n.toString(2))

// 4 bits
print(make([ 15 ])) // …
Run Code Online (Sandbox Code Playgroud)

javascript base-conversion twos-complement

13
推荐指数
1
解决办法
1151
查看次数

费舍尔·耶茨能否打乱所有扑克牌排列?

我正在使用标准的Fisher-Yates算法来随机洗牌数组中的一副纸牌。但是,我不确定这是否会真正产生现实世界中经过洗牌的纸牌的所有可能排列的真实分布。

V8 Math.random仅具有128位内部状态。由于套牌中有52张卡,因此52个阶乘将需要226位内部状态才能生成所有可能的排列。

但是,我不确定在使用Fisher-Yates时是否适用,因为您实际上并没有生成每种可能的结果,而只是随机地从52个位置中得到一个位置。

function shuffle(array) {
  var m = array.length, t, i;

  while (m) {
    i = Math.floor(Math.random() * m--);
    t = array[m];
    array[m] = array[i];
    array[i] = t;
  }

  return array;
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays random shuffle

10
推荐指数
1
解决办法
170
查看次数

从另一个数字生成随机数

在JavaScript中,是否可以从另一个数字生成一个随机数?

我正在尝试为我的一个分形地形生成器实现一个可预测的随机数生成器.我已经知道可以使用Math.random()生成一个随机数,但我想创建一个随机数生成器,为每个输入生成一个输出.(例如,predictableRandomGenerator(1)总是会产生相同的结果,这不一定与输入相同.)

那么是否可以从另一个数字生成一个随机数,其中每个输入的输出总是相同的?

javascript random

6
推荐指数
1
解决办法
1049
查看次数