如何检查不是对象数组的响应长度

时间:2018-08-02 07:06:44

标签: javascript

嗨,我想知道如何检查不是对象数组的响应的长度? 不能真正地举一个例子,因为我不知道它在支持中的工作原理是什么,我的意思是我正在游戏中循环一个物体(这是一场战斗),并打印出所有敌人。但是我得到的响应是分离的对象,而不是对象数组。 所以我的回应看起来像:

{name: "Mike", lvl: 169, team: 1, …}
{name: "Mike2", lvl: 120, team: 1, …}

但不是这些对象的数组。 所以我真的不知道如何检查它的长度(如果它不是对象数组的话)。

3 个答案:

答案 0 :(得分:0)

let json1 = {name: "Mike", lvl: 169, team: 1};
let json2 = {name: "Mike2", lvl: 120, team: 1};
console.log (Object.keys(json1).length);
console.log (Object.keys(json2).length);

答案:3

答案 1 :(得分:0)

Hei

您可以检查对象拥有的keys的数量:

const obj = {
  a: 'cool stuff',
  b: 42,
  c: false
};

const count = Object.keys(obj).length

console.log(count);

该功能具有全面的支持,您可以在此处阅读更多信息:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

干杯!

答案 2 :(得分:0)

看起来像您想分行,..

var a = `{name: "Mike", lvl: 169, team: 1, …}
{name: "Mike2", lvl: 120, team: 1, …}`;

console.log("count = " + a.split(/\r?\n/g).length);

//if each line was valid JSON, could even go one better
//and make into an array

var b = `{"name": "Mike", "lvl": 169, "team": 1}
{"name": "Mike2", "lvl": 120, "team": 1}`

b = b.split(/\r?\n/g).map(m => JSON.parse(m));

console.log(b);