javascript - Object.fromEntries 仅在 iOS 上可用? ( react native - 不是网络)

标签 javascript react-native object ecmascript-6 expo

标题很容易理解,但请考虑以下示例代码:

import * as React from 'react';
import { Text, View, StyleSheet } from 'react-native';
import { Constants } from 'expo';


export default class App extends React.Component {
  render() {
    return ( 
      <Text>
         {Object.fromEntries("test")}
      </Text>
    );
  }
}

查看Expo Snacks

通过在 Android 设备上打开它,我得到了 fromEntries 函数在 Object 上不存在的错误:

enter image description here

但在 iOS 上,它确实存在:

enter image description here

(提供给它的参数错误,但它仍然存在)

那么这里发生了什么?两个平台之间的 JS 引擎不应该相同吗?还存在哪些其他已知差异?

最佳答案

很可能你有一个旧的或不完全支持的引擎(检查 docs )。你可以像这样制作一个 ES6 polyfill:

Object.fromEntries = Object.fromEntries || arr => arr.reduce((acc, [k, v]) => (acc[k] = v, acc), {});

或者像这样的 ES5 polyfill:

Object.fromEntries = Object.fromEntries || function(arr) {
    return arr.reduce(function(acc, curr) {
        acc[curr[0]] = curr[1];
        return acc;
    }, {});
};

关于javascript - Object.fromEntries 仅在 iOS 上可用? ( react native - 不是网络),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56379641/

相关文章:

javascript - Vue.js[vuex] 如何从突变中调度?

javascript - 如何将 {{data.date}} 与 timeago 一起使用? Angular

javascript - chart.js 2,动画从右到左(不是自上而下)

react-native - 将 env 文件传递​​给 detox

react-native - 当视频在 native 的 expo-video-player 上结束时如何发出警报?

C++ 动态对象。运行时如何确定对象大小?

javascript - 从对象数组中按键创建对象数组

javascript - 使用 javascript 或 jquery 编辑浏览器的查询字符串

javascript - 在 JavaScript 中按属性对整个嵌套对象进行排序

android - 在不同设备上运行 React Native 应用程序的模拟器