Javascript 如何检查JS对象键是否具有相同的值?
这就是我到目前为止得到的,首先我从firebase获取JSON,然后映射它并将其作为JSX返回。。。它工作得很好,但问题是 编辑:从firebase获取时,它将成为JS对象 每个JS对象都有一个键时间,如何有条件地检查一个JS对象的键时间是否与另一个JS对象的键时间相同 我基本上只想将具有相同时间键的JS对象输出到JSX,而不是将具有相同键但不同值的其他JS对象输出到其他JSX。。。如果这有意义的话 谢谢 sdsdJavascript 如何检查JS对象键是否具有相同的值?,javascript,reactjs,firebase,react-native,Javascript,Reactjs,Firebase,React Native,这就是我到目前为止得到的,首先我从firebase获取JSON,然后映射它并将其作为JSX返回。。。它工作得很好,但问题是 编辑:从firebase获取时,它将成为JS对象 每个JS对象都有一个键时间,如何有条件地检查一个JS对象的键时间是否与另一个JS对象的键时间相同 我基本上只想将具有相同时间键的JS对象输出到JSX,而不是将具有相同键但不同值的其他JS对象输出到其他JSX。。。如果这有意义的话 谢谢 sdsd 只需从orders对象中取出值,并在呈现它们之前按时间对它们进行排序。以下是工作
只需从orders对象中取出值,并在呈现它们之前按时间对它们进行排序。以下是工作示例: const fetchedOrders={a:{time:2018-11-08T11:52:22.668Z},b:{time:2018-11-08T11:52:28.746Z},c:{time:2018-11-08T11:52:44.964Z},d:{time:2018-11-08T11:52:44.964Z},e:{time:2018-11-08T11:52.825Z},f:{time:2018-11-081:52:825Z}; 常量顺序=Object.valuesfetchedOrders .sortorder1,order2=>order1.time-order2.time; //仅用于在dom中显示结果 document.getElementById'result'.innerHTML=JSON.stringifyorders,null,2;
你能提供数据JSON的结构或示例吗?@KarlenKishmiryan Hi,我刚刚编辑了这个问题。JSX在这里真的不相关。您希望首先映射数据响应,但实际上不清楚您希望用它实现什么data@charlietfl,每个JSON都是订单上的一个食物项目。。。现在,我在JSX中分别输出每一种食物,我想根据关键时间,在一张订单单中输出它。因此,您的问题是如何基于公共属性值对数组数据进行分组。首先,将其简化为一些数据输入和该数据的预期结果。然后再担心JSX显示later@charlietfl在我的示例中,我使用了一些字符串作为日期,只是为了说明问题。如果它们是日期对象,那么我的比较是正确的。我不想使用localeCompare与日期进行比较。
axios
.get(`...firebaseio.com/users/${uid}/orders.json`)
.then(response => {
const fetchedOrders = [];
for (let key in response.data) {
fetchedOrders.push({
...response.data[key],
id: key
});
}
this.setState({ orders: fetchedOrders });
});
this.state.orders.map(order => {
return (
<TouchableOpacity
key={order.id}
onPress={() => this.deleteSingleItemHandler(order.id)}
>
<View>
<Text>{order.articleName}</Text>
</View>
<View >
<Text>{order.articlePrice}</Text>
</View>
</TouchableOpacity>
);
})