Javascript 如何检查通过react中道具传递的数组数据?

Javascript 如何检查通过react中道具传递的数组数据?,javascript,arrays,reactjs,object,Javascript,Arrays,Reactjs,Object,我有一个组件,它接受数组作为道具 <Component runners={['1','2']}/> 在这个函数组件中,我想为数组中的每个值呈现一个元素。我的逻辑是: const { runners } = props if(runners.includes('1')) { return(<ElementOne/>) } if(runners.includes('2')) { return(<ElementTwo/>) } const{run

我有一个组件,它接受数组作为道具

<Component runners={['1','2']}/>

在这个函数组件中,我想为数组中的每个值呈现一个元素。我的逻辑是:

const { runners } = props

if(runners.includes('1')) {
  return(<ElementOne/>)
}

if(runners.includes('2')) {
  return(<ElementTwo/>)
}
const{runners}=props
if(包括('1')){
返回()
}
if(包括('2')){
返回()
}
等等

includes
方法抛出错误
runners.includes不是函数。与
indexOf
相同。所以我检查
typeofrunners
,它返回
object
。然后我输出
JSON.stringify(runners)
。它返回“[1,2]”

我尝试用
hasOwnProperty
中的
方法重新执行上述条件,它们都返回false


有什么想法吗?

问题是
prop
react

除非我得到确切的代码,否则我无法确定,但假设它是一个函数组件,可能有
prop
作为参数,那么解决方案是

prop.prop.includes(2)
外部属性是函数参数,内部属性是传递给
组件的实际键

还加 ReactDOM.render(,document.getElementById('root')); 在index.js中,react组件基本上是从这里呈现的


runners->作为props值传递给名为Prctc的功能组件(此处),您可以使用{props.runners}使用props值,因为它是数组,所以我对它进行了迭代并检查了提供的条件。现在您可以返回封闭标记中的任何内容。

我将避免使用名称
prop
作为您的组件道具之一。@johnborges prop只是一个示例,抱歉。我只是编辑了代码来反映真正的钥匙。你为什么要破坏道具?是功能组件中属性的名称。据我所见,你的道具应该叫做runners,你不需要对它进行分解,这不是一个答案,只是一个观察:你传递一个字符串数组,然后尝试找到一个数字。你查过了吗?@ahwayakchih那是我的错别字……事实上我在查StringThank……它实际上不叫prop,我只是举个例子。道具的实际名称是
跑步者
。在这些条件之上,我有``const{runners}=props``……所以我认为这不是问题。stringify输出正确的值,但是数组/obj方法不起作用。谢谢@ayushi!实际上,我只是把条件作为单独的常量放在函数之外,函数也起作用,但这也很好。@Dankur首先,如果它解决了您的prblm,请接受答案