跳过不存在的对象(过滤)React-Native

时间:2019-06-13 11:46:25

标签: javascript json loops react-native object

我遇到了循环遍历一系列对象的情况。可以说,每当有两个以上的对象时,如果第一个对象不存在,如何跳过该对象并继续下一个对象?

这是循环:

@foreach

这是第一个对象不存在时的打印数组:

 for (i = 0; i < this.myInputFields.myTextFields.length; i++) {

        if (!this.myInputFields.myTextFields[i] || this.myInputFields.myTextFields[i] == null || this.myInputFields.myTextFields[i] === '') {
           //go to next
        }

        if (this.myInputFields.myTextFields[i].key) {
             data[this.myInputFields.myTextFields[i].key] = this.myInputFields.myTextFields[i].inputValues;
        }

    }

如您所见,在该对象之前有一个逗号,在逗号之前有一个空格,因此我不知道如何跳过该空格。

1 个答案:

答案 0 :(得分:3)

这段代码将允许您跳过为空的元素。

for (let i = 0; i < this.myInputFields.myTextFields.length; i += 1) {
  if (this.myInputFields.myTextFields[i]) {
    // print valid element if you want or do whatever you want
    data[this.myInputFields.myTextFields[i].key] = this.myInputFields.myTextFields[i].inputValues;
  }
}

更有效的方法是

let array = this.myInputFields.myTextFields.filter(item => item !== undefined); // you can eliminate all undefined elements with filter method

for (let i = 0; i < array.length; i += 1) {
  data[array[i].key] = array[i].inputValues;
}