Javascript不解析通过函数传递的数组

时间:2018-12-02 19:46:01

标签: javascript arrays node.js cypress

我有一个数组,该数组通过使用javascript的函数传递,我看不到代码有任何问题,但它无法正确传递第一个数组,因此可以对其进行解析。

这个想法是第一个数组有56个项目,然后调用parseData函数,该函数应该将此数组拆分为7个块。

这是两个功能:

docs/notebooks

parseData中的第一个console.log确实返回了56个项目,但是到到达tData.forEach时,它已经完全丢失了数据,并且当解析返回coll_array时,解析返回了一个空数组。

如果有人有任何想法?

2 个答案:

答案 0 :(得分:0)

从现在开始,我认为您可以将数据整理得很好。 例如arr = [1,2,3,..... 58]

使用下面的代码分成7个块

arr = arr.reduce((acc,data,index)=>{
  if(index==0 || index%7==0) acc.push([])
  acc[acc.length-1].push(data)
  return acc
},[])

以上代码将返回

arr = [ [1,..,7], [8,...14], ....]

答案 1 :(得分:-1)

我们已经解决了这个问题。 事实证明,赛普拉斯中的所有内容都是一个承诺,因此第一个功能需要具有.then

 static async validateRowValues() {
    let data = [];
    await cy.get('tr > td > div.dlCell')
      .each(function (row) {
          let d = row.get(0).innerText;
          data.push(d);
      }).then(() => {
        this.parseData(data);
      });  
}