相关疑难解决方法(0)

在Javascript中循环对象内部的数组

可能重复:
循环通过Json对象

{
  "data": [
    {
      "name": "Jen",
      "id": "1"
    },
    {
      "name": "Steve",
      "id": "8"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我正在与之交互的服务器响应上述内容.

我正在尝试enter code here为For..in语句循环遍历它.

这就是我想要做的:

for (var item in response.data) {
  console.log(item.name);
}
Run Code Online (Sandbox Code Playgroud)

这不起作用.什么地方出了错?

谢谢

在阅读评论后,我认为可以使用以下内容:

for (var item in response.data) {
  console.log(response.data[item].name);
}
Run Code Online (Sandbox Code Playgroud)

我能够得到一份名单......

有人可以解析它的工作原理吗?

javascript arrays for-loop javascript-objects

5
推荐指数
2
解决办法
4687
查看次数

如何在中间件函数中迭代Mongoose模型属性?

我试图在中间件函数中迭代mongoose模型中的字段.当前上下文this是模型对象本身.所以我有一个函数,其中上下文是这样的Javascript对象:

{
  lastName: 'Wilkens',
  firstName: 'Elepart',
  name: 'Elepart Wilkens',
  username: 'eK',
  bio: '<script>alert(\'this is a hack!!\')',
  _id: 53b17dd0e8c5af50c1d73bc6,
  language: 'en',
  country: 'USA',
  online: true
}
Run Code Online (Sandbox Code Playgroud)

我想迭代这个对象(在当前函数中表示this).每次我尝试使用循环进行迭代时,它都会打印出看起来像内部Javascript元数据的值.this如果this代表一个对象,是否可以在函数内迭代?

这是实际的中间件功能:

userSchema.pre('save', function (next) {
    console.log(this); // This prints precisely the same object I have copied above

    var fields = Object.keys(this);

    for(var i = 0; i < fields.length; i++) {
        console.log(this[fields[i]]);
    }

    for(var key in this) {
      if(this.hasOwnProperty(key)) {
        console.log(this[key]);
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

输出是:

{ 
 strictMode: …
Run Code Online (Sandbox Code Playgroud)

javascript loops mongoose

4
推荐指数
3
解决办法
3831
查看次数

使用JavaScript将对象值替换为相同键的其他对象的值

我有两个对象,item而且results.他们都有相同的键,但可能有不同的值,例如:

item.id = '50'
item.area = 'Mexico'
item.gender = null
item.birthdate = null

results.id = '50'
results.area = null
results.gender = 'Male' 
results.birthdate = null
Run Code Online (Sandbox Code Playgroud)

我想要做的是以下内容:

if (item.id == null || items.id == 0)
{
    item.id = results.id;
}
Run Code Online (Sandbox Code Playgroud)

但我正在寻找一种方法来为我的item对象的每个值做这个.你知道,如果我的对象碰巧有更多的键/值,就不必写一个巨大的函数.有任何想法吗?

更新:我误解了我自己的问题,唯一的问题是我并没有真正理解如何在给定某个键的情况下获取对象值.因为我使用Azure的移动服务脚本,所以我无法真正使用任何外部脚本或div.

for (var key in item) {
    if(item[key] == null || item[key] == 0){
        item[key] = results[0][key] 
    }             
}
Run Code Online (Sandbox Code Playgroud)

javascript object

4
推荐指数
1
解决办法
2万
查看次数

如何在 Jint 中枚举字典&lt;&gt;

我有一个 .NET Generic Dictionary<>,我想将它传递给我在 Jint 中运行的 JavaScript 函数。

Jint 不会将 .NET Dictionary 视为可以像 Dictionary 一样对待的 JavaScript 对象。您可以访问对象上的 .NET 属性和方法,但不能访问扩展方法。

因此,虽然我可以获得字典键的数量,但我无法枚举它或对其调用 ToArray()。

我可以使用 dict[key] 从字典中读取值,但在这种情况下,我事先不知道键。

如何枚举键或获取 .NET 通用字典中的所有条目?

我愿意在字典中做一些事情或在我传递它之前转换它或弄清楚如何在 JavaScript 中做它。我宁愿不必单独传递一组键。这是在另一个数据结构中,对每个字典执行此操作会使其更加复杂,但如果找不到其他解决方案,这是我正在考虑的选项之一。

我宁愿远离使用动态。我在过去大量使用它们时遇到了内存泄漏的问题。

javascript c# dictionary jint

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

如何通过索引访问JSON对象中的字段

我知道这不是最好的方法,但我别无选择:(

我必须通过索引访问JSONObject中的项目.访问对象的标准方法是wirte this[objectName]this.objectName.我还找到了一个方法来获取json对象中的所有字段:

(for (var key in p) { 
  if (p.hasOwnProperty(key)) { 
    alert(key + " -> " + p[key]); 
  } 
} 
Run Code Online (Sandbox Code Playgroud)

(Soruce:循环通过Json对象).

但是,无法通过索引直接访问JSON字段.我现在看到的唯一方法是创建一个数组,使用上面的函数,通过索引获取fieldname,然后通过fieldname获取值.

据我所知,p(在我们的例子中,JSON文件必须是可迭代的数组,否则foreach循环将无法工作.如何直接访问此数组?或者它是某种未排序的列表?

javascript json

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

Javascript为每个json

我正在通过ajax javascript调用一个页面(ASP)来返回一个json,然后我会转到一个选择值

我回来的json属于这种类型

{
  "options": {
    "1": "All locations", 
    "2": "Egypt", 
    "3": "El Alamein", 
    "4": "Marsa matrouh", 
    "5": "Sharm el sheikh "
  }
}
Run Code Online (Sandbox Code Playgroud)

要么

{
  "options": {
    "1": "All locations", 
    "2": "Abu dhabi", 
    "3": "Dubai"
  }
}
Run Code Online (Sandbox Code Playgroud)

我不知道长度和包含的元素然后我会做一个循环,允许我提取值然后将插入值和标签

我正在看网,但显示的例子总是带着字段名称被召回,我无法知道不知道长度

有人可以告诉我这个骑自行车的json

javascript

3
推荐指数
2
解决办法
9163
查看次数

如何循环JavaScript对象的键

我有一个看起来像这样的对象:

var myObj = {
    name:"Bacon",
    fat:20,
    carb:40
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在对象的键上做一个循环,然后得到它的值?

javascript loops key

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

Javascript forEach-如何循环对象?

如何使用forEach循环对象?

例如:

var dataset = {
    "data" : {
        "particles" : {},
        "no2" : {},
        "timestamp" : {}
    }
};
Run Code Online (Sandbox Code Playgroud)

js:

dataset.data.forEach(function(field, index) {
    console.log(field);
});
Run Code Online (Sandbox Code Playgroud)

错误:

未捕获的TypeError:dataset.data.forEach不是函数

有任何想法吗?

javascript foreach for-loop

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

迭代 JS 对象并根据条件重写值

我正在尝试将对象中的空值重写为零。

var data = {
    a : 1,
    b: 22,
    c: null,
    d: 1
};

for(var i=0; i < data.length; i++) {
    if (data[i].value === null){
        data[i].value = 0;
    }

}
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

javascript object

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

如何在javascript中打印对象的所有属性?

var object = { name: 'Harry', age: '25', sex: 'male'...... n};
Run Code Online (Sandbox Code Playgroud)

这个对象有“n”个我不知道的属性,我想打印这些整个属性。

javascript object javascript-objects

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