我有一个对象,我需要检查所有值是否都为真。
{
condition1: true,
condition2: true,
condition3: false
}
我使用Object.value来获取true和false值的数组。但是我似乎无法使每个函数都起作用,它总是返回true。
const test = Object.values(equipmentSelection)
.every((element) => {
if (element = true) return true;
});
答案 0 :(得分:2)
只需返回元素而不使用条件检查,你可以这样做
const test = Object.values(equipmentSelection)
.every(element => element)
});
答案 1 :(得分:1)
您使用的是分配运算符=
,而不是逻辑==
或===
运算符。因此,您基本上将element
设置为等于true
,然后使用相同的值(true
)作为if
的条件。因此,if
条件始终为true
,因此会为数组中的每个元素返回true
。
由于element
的类型为布尔值,因此您不需要if
语句,只需使用其值:
.every(element => element);
答案 2 :(得分:0)
你可以这样做。
import React, { Component } from 'react';
import { View, Animated } from 'react-native';
class Ball extends Component {
conponentWillMount() {
this.position = new Animated.ValueXY(0,0);
Animated.spring(this.position, {
toValue: { x: 200, y: 500 }
}).start();
}
render() {
return (
<Animated.View style={this.position.getLayout()}>
<View style={styles.ball} />
</Animated.View>
);
}
}
const styles = {
ball: {
height: 60,
width: 60,
borderRadius: 30,
borderWidth: 30,
borderColor: 'red'
}
}
export default Ball;`enter code here`
和其他人一样说,
const test = Object.values(equipmentSelection)
.every(element => element===true);
将返回带有true或false的元素值,这将是您通过比较获得的值。