从 JSON 属性中选择随机值

2024-02-18

我有一个在标题中描述的任务。我不能在代码中的某个地方使用数组、循环和 Object.keys。我只能使用Math.random。

JSON 文件:

{
  "key": "item 1, item 2, item 3",
  "key2": "abc",
  "key3": "123"
}

我什至无法想象如果没有我描述的技术如何做到这一点。如果任务支持 Object.keys 它将非常简单(但我不能将其写为答案)。

我可以从 JSON 接收的对象:

let obj = {
           key: "item 1, item 2, item 3",
           key2: "abc",
           key3: "123"
       };

我用 Object.keys 选择随机值的函数(我不能使用):

 let randomProperty = function (obj) { 
 let keys = Object.keys(obj);    
 return obj[keys[ keys.length * Math.random() << 0]]; 
};

可以使用 JSON.stringify 和 parse,因为它必须是 JSON 文件而不是我编写的对象。

请帮忙!


伊万答案的变体,代码少得多。字符串化替换器 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify第一次计算参数,然后第二次选择一个。

let obj = {
  key: "item 1, item 2, item 3",
  key2: "abc",
  key3: "123"
};

let k, n = 0;
JSON.stringify(obj, (key, value) => (key && ++n || value));
n *= Math.random();
JSON.stringify(obj, (key, value) => (key && --n | 0 || (k = key) || value));
console.log(obj[k]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 JSON 属性中选择随机值 的相关文章

  • Three.js - 如何使用姿势估计数据为 3D 模型制作动画

    我正在尝试使用姿势估计坐标来对 Three js 中的装配模型进行动画处理 我正在使用的姿势估计技术提供了视频源中人物的实时 x y z 坐标 我正在尝试使用这些坐标相应地移动 3D 模型 我使用下面的代码 其中一些代码是我在相关问题的答案
  • 如何从外部域设置 iframe 内部的样式?

    我有一个网站 其中嵌入了来自 3 个不同域的 3 个 iframe 每个 iframe 都位于单独的页面上 将样式表应用于所有 3 个 iframe 的最佳方法是什么 谢谢你 这可以在某些网站上完成 但由于 同源政策 而并非全部 Twitt
  • 首选的客户端路由解决方案? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • LitElement 不更新列表中的复选框

    我有一个简单的清单 每个项目都有一个删除按钮 当我选中第一个项目然后删除它时 列表会更新 删除该项目 但会选中下一个项目的复选框 下一项的属性是正确的 这是我的代码 import LitElement html from lit eleme
  • 我应该在 VS Code 中为“json.maxItemsCompulated”设置什么?

    默认状态为 5000 个符号 这取决于机器的性能还是其他什么 从 VS Code 设置 JSON 计算的最大项目数 计算的轮廓符号和折叠区域的最大数量 由于性能原因而受到限制 这与编辑器中的 GUI 按钮相关 您可以使用它来折叠 JSON
  • 如何禁用 Firebase 电话身份验证 reCAPTCHA? (网络/反应)

    我正在构建一个 React Firebase 应用程序并使用 Firebase 的 PhoneAuthProvider 进行身份验证 在开发过程中 需要进行大量的登录和注销来测试身份验证流程 私有路由 登录重定向等 每次我需要登录时 都会向
  • 如何跨页面播放背景音乐

    我已经读过这个问题 我知道它只能用框架来完成 我真的不想要全站点 AJAX 如何在多个 HTML 页面上播放背景音频 https stackoverflow com questions 4210370 how to play a backg
  • React 和 ES6 继承

    Note 这篇文章是在 React 不支持 ES6 v12 时发布的 我有一个 ES6 课程 class BaseClass getInitialState return message Hello render return div di
  • 避免 IE 中因背景图像而出现“混合内容”警告的具体规则是什么?

    这与SSL 和 CSS 背景图像导致的混合内容 https stackoverflow com questions 1548551 ssl and mixed content due to css background images但这个问
  • 是否可以使用 JavaScript 导入 HTML?

    我有一些具有相同页脚的 html 页面 使用 JavaScript 并且仅使用 JavaScript 我可以在其中导入另一个 html 页面吗 下面介绍了如何仅使用 JavaScript 向页面添加页脚 2022 代码 使用fetch ht
  • 我想在数据表中使用 Div 结构而不是 Table。是否可以?

    我想用数据表 https datatables net 用div结构代替表格 目的是满足设计要求 有什么可能的方法或替代方案吗 不 您将无法执行此操作 Datatables 的核心仅适用于表格元素和子 thead tbody tfooter
  • 如何使我的网站兼容移动设备和平板电脑? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想让我现有的网站在手机 平板电脑上查看时自动调整 甚至在您在桌面上调整屏幕时自动调整 如果失败的话 如果太难 你有什么建议 我基本上
  • 使用 jquery 选中和取消选中所有复选框

    我正在使用此脚本来选中和取消选中所有复选框 checkall click function var checked this data checked chkall find checkbox attr checked checked th
  • 根据传单中的属性更改标记颜色

    我的目标是让我的标记根据它们的不同而采用三种不同的颜色rating财产 我看过类似的帖子 其中使用对象来定义颜色 每个标记都有一个rating属性在 1 到 5 之间 我正在考虑使用 else if 语句 例如 if rating lt 3
  • 你可以推荐什么 JavaScript 缓存 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个好的javascript内存缓存库来缓存客户端计算结果 我的要求 适用于 Internet Explorer FireFox
  • 利用源映射的堆栈跟踪

    概述 浏览器控制台中的堆栈跟踪输出与调用 Error stack 时返回的跟踪不同 控制台堆栈跟踪似乎考虑了源映射 而 Error stack 堆栈跟踪则没有 控制台输出这是输出到控制台的默认堆栈跟踪 Uncaught TypeError
  • Wordpress 上的 Javascript 注入预防

    我的 WordPress 博客得到以下内容恶意的注入脚本 eval function p a c k e d e function c return c
  • 如何在 JS 文件中使用 Github 机密

    我有一个基本的 git 存储库 其中包含用于构建和部署的 github 操作 主要是 HTML 和 TS 文件 但是我必须在一些需要保密的 API 密钥中使用 所以我想办法为他们使用 GITHUB SECRETS 如何在我的 js 或 TS
  • CSS3 Marquee / Ticker 动画最后没有空格

    我正在用 2 个项目集合构建字幕 旋转木马效果 循环两者item collection跨越translateX并不难 这里是小提琴 http jsfiddle net k1k3h2p0 但我不喜欢每个循环末尾的空白区域 知道两个集合的宽度可
  • MutationOberserver 回调是否在修改观察到的元素的同一动画帧内触发? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 假设我对使用以下命令创建的框架内的元素进行了更改window requestAnimationFrame并且被修改的元素正在被观察

随机推荐

  • Clojure 应用映射和关键字参数销毁

    考虑具有以下签名的函数 defn make widget keys x y or x 10 y 20 将映射传递给函数的最佳方法是什么 例如 make widget x 100 or make widget y 200 x 0 我目前想到的
  • 正则表达式来验证逗号分隔的电子邮件地址?

    我需要验证电子邮件地址 可以是单个或多个以逗号分隔的地址 在我在正则表达式验证器中使用如下表达式之前 string exp w w w w w w 它正在验证多个或一个电子邮件地址 但同样的表达式在 C 中没有验证 它也表示对无效地址有效
  • IIS7-请求过滤模块配置为拒绝超过请求内容长度的请求

    我想上传图像 它在我的机器上运行良好 但是当我将我的网站放在 IIS7 服务器上供公众使用时 我无法上传任何内容 Error 请求过滤模块 用于拒绝以下请求 超过请求内容长度 最可能的原因 在Web服务器上配置请求过滤以拒绝请求 因为内容长
  • 如何为编辑操作指定 devise_parameter_sanitizer?

    我已将 Devise 添加到我的 Rails 4 应用程序中 并成功将用户名等添加到我的用户模型中 此外 我可以使用惰性方式存储这些字段 即 class ApplicationController lt ActionController B
  • libGDX:用一些枢轴打结的吊绳

    我正在尝试在 libGDX 中制作一根在其下端有一些物体的悬挂绳 绳子应该是这样的Box2D中的挂绳 http www emanueleferonato com 2009 10 05 basic box2d rope 我做了很多研究 lib
  • 如何让外部合并工具在 Linux 上与 svn 一起工作?

    如何获得基于 GUI 的合并工具以在 Linux 中使用命令行 SVN 我知道有很多选项 例如 meld svn Diff 等 所有这些都需要一个帮助程序脚本来允许 svn 在冲突解决期间调用外部程序 我按照给出的说明进行操作here ht
  • 将 WebRTC 与 WebWorker 结合使用

    我有兴趣将 webrtc 与 webworker 一起使用 是否可以 我尝试了 但没有成功 因为它没有找到 窗口 根据规格 1 https w3c github io mediacapture main dom navigator 2 ht
  • Apple 无法识别 imgur 的 HTTPS

    我有多个来自 imgur 的 HTTPS 链接 例如https i stack imgur com 9nSMi jpg https i stack imgur com 9nSMi jpg 我使用它作为我的原型应用程序的背景之一 但每当我在
  • WPF ComboBox...如何设置.Text 属性?

    有没有办法设置 Text直接使用 Wpf ComboBox 控件的属性吗 我的组合框绑定到List
  • 如何组合 Raphael javascript 库中的对象?

    抱歉问了一个很长的问题 但是就这样吧 我正在尝试修改此处演示周围的拖动形状 http raphaeljs com graffle html http raphaeljs com graffle html 该演示运行良好 我想做的是将文字放入
  • 在 ASP.Net 菜单中突出显示选定的选项卡

    我试图用不同的颜色突出显示 ASP NET 菜单中选定的选项卡 做到这一点似乎很简单 但首先我无法使其工作 其次我到目前为止找不到一个好的工作示例 ASP HTML div class clear hideSkiplink div
  • Firebase:部署到托管后仍然是旧版本,如何?

    我收到了一个在 firebase 上托管的相当原始的 React 应用程序 由其他人开发 进行维护 现在奇怪的事情发生了 我更改文件的内容 甚至简单的文本更改 运行部署 托管 我在 firebase 控制台中看到部署成功 仍然 页面内容仍然
  • 为独立应用程序创建 Homebrew 公式

    我正在尝试为不需要编译的应用程序创建一个自制公式 我尝试过浏览公式食谱 但我缺少一些使事情正常工作的东西 下面是我使用更通用文件名的用例 容器内部有两个文件 一个是应用程序的脚本 另一个是手册页文件 我们将使用以下文件名来保持通用 myap
  • 如何有条件地渲染 f:selectItem 标签?

    如何指定条件渲染
  • Python:setup.py Egg_info 失败,错误代码为 1

    我已经将 Python 2 7 x 更新到 3 6 但当我尝试安装任何软件包时仍然收到此消息 示例 Flask Kivy 命令 python setup py Egg info 失败 错误代码为 1 C Users Dev AppData
  • Boost.Filesystem 和 C++ 标准文件系统库有多相似?

    我需要一个文件系统库与支持 C 11 的编译器或支持 C 14 的编译器一起使用 所以它不能来自 C 17 现在 我知道进入 C 17 的文件系统库是基于 Boost Filesystem 的 但是 它们是否足够相似 足以让我使用 Boos
  • 表单中的 _lpchecked="1" 是什么意思?

    我开始做一些网络开发 我正在学习表单并进入这个领域 lpchecked 1 我在这个 StackOverflow 问题中找到了带有此字段的表单示例大文本输入导致 http post 失败 https stackoverflow com qu
  • 使用 C# 在 Windows 中集成特定文件类型的 Shell

    因此 我搜索了如何使用 C 对应用程序进行 shell 集成 将其添加到右键菜单 的指南 但我找不到如何仅针对特定文件类型执行此操作 我知道这是可能的 因为 WinRar 就是这样做的 那么我该怎么做呢 通常有两种方法可以实现这一点 注册表
  • 良好的加密哈希函数[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 密码的安全哈希和盐 https stackoverflow com questions 401656 secure hash and salt for php passwords 我正在制作一
  • 从 JSON 属性中选择随机值

    我有一个在标题中描述的任务 我不能在代码中的某个地方使用数组 循环和 Object keys 我只能使用Math random JSON 文件 key item 1 item 2 item 3 key2 abc key3 123 我什至无法