如何在JavaScript数组中替换随机项目

如何在JavaScript数组中替换随机项目

在JavaScript中使用不同的数组项替换随机项。让我们来看一个实例;数组为−

Var array=[m,n,o,p]

让我们选择两个随机项替换为a,而其他项保持不变。 如果m和n是随机选定的项,并在一个实例中删除了一个项,则数组将是−

Changed array=[a, a, o, p]

让我们深入了解如何在JavaScript数组中替换随机项。 要替换随机项,请使用random()map()

使用random() 方法

JavaScript方法random()用于返回落在指定范围内的伪随机或随机数字。由于random()函数是Math对象的静态函数,因此必须通过占位符对象Math调用该函数。

句法

以下是random()的语法−

Math.random();

使用map() 方法

map()方法在对每个元素执行给定函数之后,从调用数组的内容构建新数组。

句法

以下是map()的语法−

array.map(function(currentValue, index, arr), thisValue)

为了更好地理解如何在JavaScript中替换随机项,请查看以下示例。

实例

在以下示例中,我们运行脚本以替换JavaScript数组中的随机项。

<!DOCTYPE html>
<html>
   <body>
      <script>
         function randomone(array, count) {
            return function() {
               const indices = new Set();
               do {
                  indices.add(Math.floor(Math.random() * array.length));
               } while (indices.size < count)
               return array.map((v, i) => indices.has(i) ? 1 : v);
            };
         }
         var myArray = ['A', 'B', 'C', 'D'],
         newarray = randomone(myArray, 2);
         document.write(...newarray());
      </script>
   </body>
</html>

当脚本执行时,它将生成一个输出,其中包含具有随机替换项值为“1”的数组。当用户执行脚本时,这将会改变。

实例

考虑以下示例,这里我们运行脚本以获取唯一的随机索引,并在索引上运行循环,使它们等于2。

<!DOCTYPE html>
<html>
   <body>
      <script>
         var my_arr = ["ab", "bc", "cd", "de"];
         const random = (num, count) => {
            const set = new Set();
            while (set.size < count) {
               set.add(Math.floor(Math.random() * num));
            }
            return [...set];
         };
         const alter = (arr, count = 2) => {
            const output = [...arr];
            random(arr.length, count).forEach((index) => (output[index] = 2));
            return output;
         };
         document.write(JSON.stringify(alter(my_arr)));
      </script>
   </body>
</html>

运行以上脚本,输出窗口将弹出,其中显示以2随机替换数组中的数组。

实例

执行下面的脚本可以观察如何替换 JavaScript 数组中的随机项。

<!DOCTYPE html>
<html>
   <body>
      <script>
         function substituteRandomValue(names, size) {
            return function() {
               const index = new Set();
               do {
                  index.add(Math.floor(Math.random() * names.length));
               } while (index.size < size)
               return names.map((value, counter) => index.has(counter) ? 'Adam' : value);
            };
         }
         var names = ['John', 'David', 'Bob', 'Mike', 'Carol', 'Sam'],
         result = substituteRandomValue(names, 2);
         document.write(...result() + "<br>");
      </script>
   </body>
</html>

当脚本运行时,事件被触发,显示一个包含随机替换值的索引数组,每当用户执行脚本时,它会不断变化。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 教程