Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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 自定义fromJS immutablejs问题_Javascript_Reactjs_Redux_Immutable.js - Fatal编程技术网

Javascript 自定义fromJS immutablejs问题

Javascript 自定义fromJS immutablejs问题,javascript,reactjs,redux,immutable.js,Javascript,Reactjs,Redux,Immutable.js,我创建了一个自定义fromJS函数,这样当我将对象转换为不可变对象时,结果将只包含OrderedSet和Maps(而不是List和Maps) 除了在下面的情况下对象中的一个键被称为“length”之外,这种方法工作得非常好。有没有办法解决眼前的问题 var imm = require("immutable") function fromJS(js) { return typeof js !== 'object' || js === null ? js : Array.i

我创建了一个自定义fromJS函数,这样当我将对象转换为不可变对象时,结果将只包含OrderedSet和Maps(而不是List和Maps)

除了在下面的情况下对象中的一个键被称为“length”之外,这种方法工作得非常好。有没有办法解决眼前的问题

var imm = require("immutable")

function fromJS(js) {
    return typeof js !== 'object' || js === null ? js :
        Array.isArray(js) ? 
            imm.Seq(js).map(fromJS).toOrderedSet() :
            imm.Seq(js).map(fromJS).toMap();
}

var output = fromJS({
    measurements: {
        length: 10,
        weight: 30
    }
}).toJS();

// output is :
{
    measurements: {
        0: undefined,
        1: undefined
        ....
        32: undefined
    }
}

已通过将属性
length
更改为
mllength
工作

这是你的电话号码

ImmutableJS查找
length
属性以检查给定值是否为object

由于您的
测量
对象具有属性
长度
,因此它认为该对象是一个类似于
数组的
对象,并基于类似于
数组的
类型继续进行
Seq
构造,问题由此开始


要确认这一点,jsbin将输出
映射
,并在
测量
对象的长度属性中给出时间编号