Javascript 如果是第一个非空数组,则返回true

Javascript 如果是第一个非空数组,则返回true,javascript,arrays,vue.js,Javascript,Arrays,Vue.js,我有一个具有两种数据类型的对象:数组和字符串: 现在我正在遍历所有的值,我只想返回第一个非空数组,在本例中是livingroom的值 但正如你所看到的,在检查值是否为空后,我被卡住了。接下来该写什么?这是一个棘手的问题,因为Javascript对象的属性没有顺序 换句话说,返回第一个空值的此类属性非常困难,因为。因此,作为推论,如果该属性是对象中的第一个此类值,则不可能返回true,因此您的问题无法按照以下说明解决: 如果只有一个非空长度的属性,则最好执行以下操作: function First

我有一个具有两种数据类型的对象:数组和字符串:

现在我正在遍历所有的值,我只想返回第一个非空数组,在本例中是livingroom的值


但正如你所看到的,在检查值是否为空后,我被卡住了。接下来该写什么?

这是一个棘手的问题,因为Javascript对象的属性没有顺序

换句话说,返回第一个空值的此类属性非常困难,因为。因此,作为推论,如果该属性是对象中的第一个此类值,则不可能返回true,因此您的问题无法按照以下说明解决:

如果只有一个非空长度的属性,则最好执行以下操作:

function FirstNonEmptyArray(object) {
    for (var property in object) {
        if (object.hasOwnProperty(property) && (object[property] instanceof Array)) {
            if (object[property].length > 0) {return property;}
       }
}};
如果您有多个长度非空的属性,那么就不能保证对象的迭代顺序。这些属性中的任何一个都可以返回

如果属性名的长度不为零,则最好将它们附加到数组中,然后按照您的意愿处理它们:

 function AllNonEmptyArrays(object) {
    var array = []
    for (var property in object) {
        if (object.hasOwnProperty(property) && (object[property] instanceof Array)) {
            if (object[property].length > 0) {array.push(property);}
       }
    return array;
}};

这是一个棘手的问题,因为Javascript对象的属性没有顺序

换句话说,返回第一个空值的此类属性非常困难,因为。因此,作为推论,如果该属性是对象中的第一个此类值,则不可能返回true,因此您的问题无法按照以下说明解决:

如果只有一个非空长度的属性,则最好执行以下操作:

function FirstNonEmptyArray(object) {
    for (var property in object) {
        if (object.hasOwnProperty(property) && (object[property] instanceof Array)) {
            if (object[property].length > 0) {return property;}
       }
}};
如果您有多个长度非空的属性,那么就不能保证对象的迭代顺序。这些属性中的任何一个都可以返回

如果属性名的长度不为零,则最好将它们附加到数组中,然后按照您的意愿处理它们:

 function AllNonEmptyArrays(object) {
    var array = []
    for (var property in object) {
        if (object.hasOwnProperty(property) && (object[property] instanceof Array)) {
            if (object[property].length > 0) {array.push(property);}
       }
    return array;
}};

希望这段代码会有用。 Js obejct不保证其密钥的顺序,因此只查找数组中非空的密钥

var _localArray = [] // Use to store non empty array 
    for(var keys in a){ // Iterating over object. a is the object
    // Checking if the current key is an array & it's length is >= 1
    if(Object.prototype.toString.call(a[keys] ) === '[object Array]' && a[keys].length>=1) {
      _localArray.push(a[keys]);  // push the key in temp array
    }
    }
    console.log(_localArray[0]); // will log the first non empty array

希望这段代码会有用。 Js obejct不保证其密钥的顺序,因此只查找数组中非空的密钥

var _localArray = [] // Use to store non empty array 
    for(var keys in a){ // Iterating over object. a is the object
    // Checking if the current key is an array & it's length is >= 1
    if(Object.prototype.toString.call(a[keys] ) === '[object Array]' && a[keys].length>=1) {
      _localArray.push(a[keys]);  // push the key in temp array
    }
    }
    console.log(_localArray[0]); // will log the first non empty array

您不应该依赖对象属性的顺序。如果你想保持秩序,就使用数组。你不应该依赖对象属性的顺序。如果要保持秩序,请使用数组。