Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅当this.props.data.length位于同一块中时,this.props.data.maps不是函数_Javascript_Reactjs_Map Function - Fatal编程技术网

Javascript 仅当this.props.data.length位于同一块中时,this.props.data.maps不是函数

Javascript 仅当this.props.data.length位于同一块中时,this.props.data.maps不是函数,javascript,reactjs,map-function,Javascript,Reactjs,Map Function,我有一些奇怪的行为。下面的this.props.data是我的Redux存储中的一个数组,我可以看到当发生此错误时,它不是未定义的或空的 当我拿出下面的this.props.data.length>5时,一切都很好。。但是一旦我添加了它,我的项目就会抛出错误this.props.data.maps不是一个函数 { ((this.props.data) !== undefined) ? ( ((this.props

我有一些奇怪的行为。下面的this.props.data是我的Redux存储中的一个数组,我可以看到当发生此错误时,它不是未定义的或空的

当我拿出下面的
this.props.data.length>5
时,一切都很好。。但是一旦我添加了它,我的项目就会抛出错误
this.props.data.maps不是一个函数

    {
                  ((this.props.data) !== undefined) ? (
                    ((this.props.data).length > 0) ? (
                      (this.props.data).map((index) => {

                      var numberSize = '';
                      if (index.number > 100000 === 0) {
                        numberSize = 'Huge number';
                      } else if (index.number > 1000 === 0) {
                        numberSize = 'Big number'
                      } else if (index.number > 100 === 0) {
                        numberSize = 'Medium number';
                      } else {
                        numberSize = 'Small number';
                      }
                        return (
                          <div>
                            {numberSize}
                          </div>
                        );
                      })
//..beginning here
                      ((this.props.data).length < 5) ? (
                         <button onClick={this.addToArray}>Add a number to the data</button>           
                      ) : (
                        <span>The data array is full (5 objects). No Numbers can be added.</span>
                      )
//..ending here.  If I take this out, everything runs fine.
                    ) : (
                      <button onClick={this.addToArray}>Add a number to the data</button>           
                    )
                  ) : (
                     <button onClick={this.addToArray}>Add a number to the data</button>           
                  )
     }
{
((this.props.data)!==未定义)(
((this.props.data).length>0)(
(this.props.data).map((索引)=>{
var numberSize=“”;
如果(index.number>100000==0){
numberSize=‘巨大的数字’;
}否则如果(index.number>1000==0){
numberSize=‘大数字’
}否则如果(index.number>100==0){
numberSize='中间编号';
}否则{
numberSize=‘小数字’;
}
返回(
{numberSize}
);
})
//…从这里开始
((此道具数据)。长度<5)(
在数据中添加一个数字
) : (
数据数组已满(5个对象)。无法添加任何数字。
)
//…到此为止。如果我把这个拿出来,一切都会好的。
) : (
在数据中添加一个数字
)
) : (
在数据中添加一个数字
)
}
有人知道为什么在
this.props.data.length>5中添加
this.props.data.maps不是函数的错误吗

谢谢

条件运算符处缺少一个
。更重要的是,下面的
.map()
调用不清楚什么是逻辑

省略不必要的括号,我们发现如果未使用
&&
|124;
调用
.map()
后将出现语法错误。这让我们回到
javascript
后面的
.map()
部分的预期结果是什么

this.props={data:[1,2,3]};
this.props.data!==未定义
? this.props.data.length>0
? this.props.data.map((索引)=>{
控制台日志(索引);
//…一些回归的逻辑
回报率(指数*10);
})
// && 
/*
这里有语法错误
*/
//…从这里开始
this.props.data.length<5
? log(“小于5”,this.props.data.length)
:console.log(“大于5”,this.props.data.length)
//…到此为止。如果我把这个拿出来,一切都会好的。
:console.log(“内部”)

:console.log(“外部”)
在条件运算符处缺少关闭
?另外,调用
.map()
之后是否需要一个进程?需要什么逻辑?我已经更新了我的代码,用一个例子来说明我所说的“逻辑”是什么意思。是的,在
.map()
调用的每个循环中都会发生一个进程,更新的代码也应该有助于澄清这一点。如果没有,请告诉我。你能澄清一下你在哪里看到丢失的
?问题不是
.map()
,而是
.map()
((数据).length<5)后面的表达式?():()
这就是您看到缺少的
?我尝试添加了&&或| |,但这会导致
.map
函数中的第一个div不显示(在您的示例中是
返回(索引*10);
行)