相关疑难解决方法(0)

如何在javascript中迭代(键,值)?

我有一个格式为的字典

dictionary = {0: {object}, 1:{object}, 2:{object}}
Run Code Online (Sandbox Code Playgroud)

我怎样才能通过做类似的事情来遍历这本词典

for((key,value) in dictionary){
  //Do stuff where key would be 0 and value would be the object
}
Run Code Online (Sandbox Code Playgroud)

javascript iteration object

255
推荐指数
7
解决办法
35万
查看次数

如何在Javascript中循环键入/值对象?

var user = {};
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个setUsers()接受键/值对对象并初始化user变量的方法.

setUsers = function(data) {     
   // loop and init user    
}
Run Code Online (Sandbox Code Playgroud)

数据如下:

234: "john", 23421: "smith", ....
Run Code Online (Sandbox Code Playgroud)

javascript iteration loops for-loop key-value

127
推荐指数
3
解决办法
29万
查看次数

在两个无限制语法违规之间捕获

这是我的原始代码:

const buildTableContent = (settings) => {
  const entries = [];
  for (const key in settings) {
    for (const subkey in env[key]) {
Run Code Online (Sandbox Code Playgroud)

settings 基本上是字典的字典

  {  
    'env': {'name': 'prod'}, 
    'sass: {'app-id': 'a123445', 'app-key': 'xxyyzz'}
  }
Run Code Online (Sandbox Code Playgroud)

它触发了以下AirBnb样式指南错误:

35:3错误for..in循环迭代整个原型链,这几乎不是你想要的.使用Object.{keys,values,entries},并迭代生成的数组无限制语法

所以我将代码更改为

const buildTableContent = (settings) => {
  const entries = [];
  for (const key of Object.keys(settings)) {
    for (const subkey of Object.keys(env[key])) {
Run Code Online (Sandbox Code Playgroud)

如建议.

现在,当我跑步时lint,我得到了这个:

35:3错误迭代器/生成器需要再生器 - 运行时,这对于本指南来说太重了.另外,应避免循环,以支持数组迭代无限制语法

所以它看起来像他们违反了一些皮棉风格.

我该如何解决这个问题?

ecmascript-6 eslint eslint-config-airbnb

7
推荐指数
1
解决办法
7683
查看次数

从对象数组中提取这些属性

假设我有一个对象数组,这里我假设对象具有三个属性,但可能更多,我想用属性名称提取其中一些:

objArr = [{
  name : "name",
  description : "description",
  date : "date"
},{
  name : "name",
  description : "description",
  date : "date"
},{
  name : "name",
  description : "description",
  date : "date"
}]
Run Code Online (Sandbox Code Playgroud)

name比如说,我只想从上述 中提取 的值objArr。我可以使用以下方法来做到这一点:

(function(objArray){
  objArray.forEach(function(arrObjItem) {
    for(let name in arrObjItem) {
      if(arrObjItem.hasOwnProperty(name)) {
        console.log(objArrItem.name)
      }
    }
  })
})(objArr)
Run Code Online (Sandbox Code Playgroud)

但我真正想要的是提取两个以上属性的值namedescription/或值,如果问题具有不同的数据结构,每个对象有更多属性。最后,我想创建这些提取的属性的映射。(或具有提取的属性、值的新对象数组)(或具有提取的属性、值对的元组)。

javascript data-structures

1
推荐指数
1
解决办法
118
查看次数