Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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 如何检查JS对象键是否具有相同的值?_Javascript_Reactjs_Firebase_React Native - Fatal编程技术网

Javascript 如何检查JS对象键是否具有相同的值?

Javascript 如何检查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对象中取出值,并在呈现它们之前按时间对它们进行排序。以下是工作

这就是我到目前为止得到的,首先我从firebase获取JSON,然后映射它并将其作为JSX返回。。。它工作得很好,但问题是

编辑:从firebase获取时,它将成为JS对象

每个JS对象都有一个键时间,如何有条件地检查一个JS对象的键时间是否与另一个JS对象的键时间相同

我基本上只想将具有相同时间键的JS对象输出到JSX,而不是将具有相同键但不同值的其他JS对象输出到其他JSX。。。如果这有意义的话

谢谢

sdsd


只需从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>
                  );
                })