从javascript中的字符串列表中选择随机项

从javascript中的字符串列表中选择随机项,javascript,string,random,Javascript,String,Random,好的,我有以下代码,它成功地(从一个元素)生成了一个列表 这导致了一个(长)清单的自行车制造,如下所示 等等等等 我的问题是,如何从这个列表中随机选择一个条目 我试着把结果分成两半 var elementMakesArray = makeValue.split(''); console.log(elementMakesArray);` 但这给了我以下几点 我试过这个 var randomMake = Math.floor(Math.random() * makeValue); consol

好的,我有以下代码,它成功地(从一个元素)生成了一个列表

这导致了一个(长)清单的自行车制造,如下所示

等等等等

我的问题是,如何从这个列表中随机选择一个条目

我试着把结果分成两半

var elementMakesArray = makeValue.split('');
console.log(elementMakesArray);`
但这给了我以下几点

我试过这个

var randomMake = Math.floor(Math.random() * makeValue);
console.log(randomMake);`
但是有个错误

所以我只是想知道如何从列表中随机选择一个条目

任何帮助都将不胜感激


谢谢。

您的代码为找到的每个元素编写一个字符串值。您需要做的是获取这些字符串值并将其添加到数组中,然后您可以从数组中获得一个随机条目:

let results = []; // <-- This is the array that the results will go into

this.elements('css selector', '#bfsDesktopFilters .search-filters__item #ddl-make > option', function (result) {
    result.value.forEach(element => {
        this.elementIdValue(element.ELEMENT, function (text) {
            results.push(text.value); // Place individual result into array
        });
    });
    console.log(results); // Log the finished array after loop is done
});

// Now that the array is populated with strings, you can get one random one out:
var rand = results[Math.floor(Math.random() * results.length)];
console.log(rand); // Log the random string
let results=[];//{
this.elementIdValue(element.element,函数(文本){
results.push(text.value);//将单个结果放入数组中
});
});
console.log(结果);//循环完成后记录完成的数组
});
//现在数组中填充了字符串,您可以从中随机取出一个:
var rand=results[Math.floor(Math.random()*results.length)];
console.log(兰德);//记录随机字符串

假设
makeValue
是一个数组:
var randomMake=makeValue[Math.floor(Math.random()*makeValue.length)]非常感谢您的回复@Scott Marcus。我尝试了上面的答案,但我得到了一个空数组<代码>运行:使用Make进行搜索✔ 通过了[equal]:92==92[]
Ok,因此如果我移动
console.log(results)
命令,它至少显示推送正在工作。将其向上移动一行<代码>结果.push(text.value);});console.log(结果);});})生成93个空数组。再往上移动<代码>结果.推送(文本.值);console.log(结果);});});})生成一个完整、正确的数组…但其中有93个!有什么想法吗?谢谢
let results = []; // <-- This is the array that the results will go into

this.elements('css selector', '#bfsDesktopFilters .search-filters__item #ddl-make > option', function (result) {
    result.value.forEach(element => {
        this.elementIdValue(element.ELEMENT, function (text) {
            results.push(text.value); // Place individual result into array
        });
    });
    console.log(results); // Log the finished array after loop is done
});

// Now that the array is populated with strings, you can get one random one out:
var rand = results[Math.floor(Math.random() * results.length)];
console.log(rand); // Log the random string
let result = this.elements('css selector', '#bfsDesktopFilters .search-filters__item #ddl-menter code hereake > option', function (result) {
   return result.value.forEach(element => {
      return this.elementIdValue(element.ELEMENT, function (text) {
            return text.value;
        })
    })
})

var random = results[Math.floor(Math.random(`enter code here`) * results.length)];
console.log(random); // Log the random string