怎样从对象中获取键值并保存在对象中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样从对象中获取键值并保存在对象中相关的知识,希望对你有一定的参考价值。

参考技术A 从对象中获取键值并保存在对象中方法是使用objkeys。对象键值的获取方法objkeys工作中经常会专门去取对象的键和值去push进一个新数组中,它可以从对象中获取键值并保存在对象中。

从数组中获取随机值并在 DOM 中发布

【中文标题】从数组中获取随机值并在 DOM 中发布【英文标题】:Get random values from array and post in DOM 【发布时间】:2021-12-24 06:12:29 【问题描述】:

我花了很长时间研究如何从对象和数组中获取随机值,但我似乎无法辨别如何实现这一点。我有这个代码,它将容纳多达一百个不同的评论,并带有相应的凭据。我怎样才能 a) 每次页面刷新时,随机抽取一组包含所有相应数据的四个评论(必须是唯一的) b) 通过 DOM 在 HTML/CSS 中发布这些评论

这是基本代码:

var reviews = [

 content: "content of review", // no need to have html there even.
 by: "name of reviewer or initials",
 stars: 5, // default, no need to specify to every item
 source: "Google Play",  // default, no need to specify to every item
,

 content: "content of review", // no need to have html there even.
 by: "name of reviewer or initials",
 stars: 5, // default, no need to specify to every item
 source: "Google Play",  // default, no need to specify to every item
,
etc.etc
];

【问题讨论】:

这个回答你的问题***.com/questions/4550505/… Take N random elements from an array 在 *** 上有几个答案。 “通过 DOM 发布 HTML”的第二个问题取决于你想给他们什么格式。再次重申,您可以在 SO 上找到多种方法。 我已经尝试过 Faizal 的解决方案。 Balastrong 我已经花了几个小时试图为我的确切情况找到正确的解决方案。找到了一些接近但丢失的部分太大而无法完全适合我的情况,而且我没有足够的经验来自己做。 【参考方案1】:

我首先想到的是有一个函数,它返回一个包含 n 个唯一元素的数组(在你的例子中,n = 4)

const randomElementsFromArray = (amountOfElements, array) => 
  const arrayWithSelectedElements = [];
  while (arrayWithSelectedElements.length !== amountOfElements) 
    const randomIndex = Math.floor(Math.random() * array.length);
    const chosenElement = array[randomIndex];
    if (!arrayWithSelectedElements.includes(chosenElement)) 
      arrayWithSelectedElements.push(chosenElement);
    
  

  return arrayWithSelectedElements;
;

它需要你想要选择的元素数量和你想要选择的数组。

一个缺点是循环运行的次数不一致,但它应该可以解决问题。

编辑:射击,我忘了问题还有第二部分。

如果您没有使用任何 JS 框架,例如 React,并且您想在纯 JS 中执行此操作,您将创建另一个函数来循环从 randomElementsFromArray 返回的数组中的元素(或使用 .map 方法返回的数组)并创建元素及其内容,并将它们添加到 DOM。

【讨论】:

以上是关于怎样从对象中获取键值并保存在对象中的主要内容,如果未能解决你的问题,请参考以下文章

JSP中怎样用session保存并验证用户登录信息

修改List内部对象的属性值并保存

PDO将对象键值作为id获取并将id保留在对象中

如何从所有用户 ID (UID) 中获取特定值并保存在 RecyclerView Firebase UI

从单元格中获取值并保存为变量

C# 保存对象