2017-08-28 64 views
0

我的html table中存在表示我的值的问题。我有价值的array,其中大多数是strings,但程序工作其中一些成为arrays。就像我在这里:如何检查值是否为数组,然后获取第一个元素

if(res.data.results[elem]['value'].toLowerCase() === nextProps.value){ 
    res.data.results[elem]['value'] = [res.data.results[elem]['value'], 'black']; 
    res.data.results[elem]['another_value'] = [res.data.results[elem]['another_value'], 'black']; 
} 

我尝试用颜色标记它,因为你已经检查过。然后,我打印出来的table,因为我已经管理,以这样的方式

<td style={{'color': result['value'][1]}}>{result.value[0]}</td> 
<td style={{'color': result['another_value'][1]}}>{result.another_value[0]}</td> 

当我只有string在我的价值,我让我的字/句子/不管的第一个字母。当价值不是array而不是从开始的所有值开始arrays时,是否有另一种方法可以打印整个string

+0

? –

+1

你有类似'isArray()'的方法https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray - 你可以使用简单的检查如'result ['value']。 isArray()?结果['value'] [0]:result ['value']' – Kejt

+0

但是我想按照我的风格来做,如果可能的话,然后将第一个元素设置为true,如果设置为true,则将整个字符串设为false。 –

回答

1

你可以使用简单的检查,像

Array.isArray(result['value']) ? result['value'][0] : result['value'] 

编辑使用的方式这个功能要检查的值是不正确的阵列

+0

非常感谢;) –

相关问题