Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 在另一个随机值jQuery中插入随机值_Javascript_Jquery_Html_Text_Random - Fatal编程技术网

Javascript 在另一个随机值jQuery中插入随机值

Javascript 在另一个随机值jQuery中插入随机值,javascript,jquery,html,text,random,Javascript,Jquery,Html,Text,Random,让我首先告诉您,我对使用jQuery还不熟悉,一般来说没有那么多编程经验。这是我第一次尝试实际学习这一点,因此,如果可能的话,我希望保持解释和解决方案非常基本 我正在从随机的句子中生成一个完整的文本块。这个很好用。不过,我希望能够将随机值插入到另一个值中,以获得更多的“动态随机性”。例如,我想在其他随机变量中使用随机名称 例如,我想从数组var Malsattning创建一个输出,其内容如下: “愿景是[插入来自Var Foretagsnamn]的名称,以创建对品牌的积极态度。”我还希望保持从V

让我首先告诉您,我对使用jQuery还不熟悉,一般来说没有那么多编程经验。这是我第一次尝试实际学习这一点,因此,如果可能的话,我希望保持解释和解决方案非常基本

我正在从随机的句子中生成一个完整的文本块。这个很好用。不过,我希望能够将随机值插入到另一个值中,以获得更多的“动态随机性”。例如,我想在其他随机变量中使用随机名称

例如,我想从数组
var Malsattning
创建一个输出,其内容如下: “愿景是[插入来自
Var Foretagsnamn
]的名称,以创建对品牌的积极态度。”我还希望保持从
Var Foretagsnamn
自身生成名称的能力(与所有当前生成的单词/句子一样)

这有点难以解释,所以我创建了一个JSFIDLE,让您看看下面的代码是否足够


您可以使用拆分函数将名称放入结果中。这是小提琴

要轻松使用拆分,请在函数外为名称创建一个变量:

var name;
然后,添加要拆分的字符(此处的字符为“[]”),更改结果:

最后,拆分并显示结果:

function showRandomMalsattning(selector){
  var randomMalsattning = getRandomMalsattning();
    var split = randomMalsattning.split('[]');
  $(selector).html(split[0] + name + split[1]);
}

我认为你最好的选择是使用占位符。 如果你改变了

'The vision is to dominate the market in three years'

然后你可以做类似的事情

var randomName = getRandomForetagsnamn();
var randomMalsattning = getRandomMalsattning();
var result = randomMalsattning.replace('@@person@@', randomName);
alert(result);
您只需确保占位符是文本中其他任何地方都不会出现的内容—如果使用特殊字符填充占位符,则很容易实现


编辑:为了演示,我创建了一个非常基本的JSFIDLE:

据我所知,这个解决方案很有效-除了数组中的句子中没有“[]”之外。例如,示例中的第四个句子在结尾处写上“Carlundefined”或“SaranUndefined”等,因为它没有在数组中拆分。有没有一种方法可以在这个解决方案中同时使用带“[]”和不带“[]”的句子?谢谢,这很好用。如果有人想看一看。一个未来使用的想法;是否可以替换多个单词,如
var result=randommalstatning.replace(“@@person@@@randomName,@@car@@@randomCar”)?您可以执行
RandomMalstatning.replace('@@person@',randomName)。replace('@@car@',randomCar)
基本上,
replace
函数将接受两个参数,第一个参数是正则表达式,可以是简单字符串,第二个参数是要替换占位符的值。返回值也是一个字符串,因此如果要执行多个替换,您可以简单地将多个调用链接到replace函数。非常感谢!
'The vision is to dominate the market in three years'
'The vision is for @@person@@ to dominate the market in three years'
var randomName = getRandomForetagsnamn();
var randomMalsattning = getRandomMalsattning();
var result = randomMalsattning.replace('@@person@@', randomName);
alert(result);