javascript - 设置对象数据结构数组属性

标签 javascript arrays

经过详尽的搜索,我还没有找到解决我的问题的明确答案。这可能部分是由于对 javascript 术语的引用不正确或不精确,因为面向对象的编程对我来说是新事物。

var numArray = [0.123456789, 31.415, 314.15, -314.15, 0.0, 0, 1, 10, 100];

var AlignDecimal = function(NumberArray){

    var numberStructure = [{
        value:0,
        toString:"",
        decimalIndex:-1,
        integer:"",
        integerLength:-1,
        mantissa:"",
        mantissaLength:-1,
        sign:""
    }];

    for (var i = 0; i < NumberArray.length; i++){
        numberStructure[i].value = NumberArray[i];
        println(numberStructure[i].value);
    }

};

AlignDecimal(numArray);

我希望从上面有足够的信息来确定我的最终编程目标。

最初我试过:

numberStructure.value = NumberArray

除了 .value 变成了一个数组,而不是 numberStructure[].value 之外,这部分起作用了。

然后我尝试了:

numberStructure = NumberArray

现在 numberStructure[] 数组接收到 NumberArray[],但很明显,numberStructure[].value 是未定义的。

还试过:

for (var i = 0; i < NumberArray.length; i++){
    numberStructure[i].value.push(NumberArray[i]);
    println(numberStructure[i].value);
}

那也没用。

最佳答案

您是否要获取一组 numberStructure 对象,一个对应 numArray 中的每个数字?如果是这样,这是一种方法:

var numArray = [0.123456789, 31.415, 314.15, -314.15, 0.0, 0, 1, 10, 100];

var AlignDecimal = function(NumberArray){

    function numberStructure(){
        this.value = 0;
        this.toString = "";
        this.decimalIndex = -1;
        this.integer = "";
        this.integerLength = -1;
        this.mantissa = "";
        this.mantissaLength = -1;
        this.sign = "";
    };

    var numberStructureArray = [];

    for (var i = 0; i < NumberArray.length; i++){
        var numStruct = new numberStructure();
        numStruct.value = NumberArray[i];
        numberStructureArray.push(numStruct);
        document.writeln(numberStructureArray[i].value + '<br/>');
    }

};

AlignDecimal(numArray);

你也可以这样做:

  
var numArray = [0.123456789, 31.415, 314.15, -314.15, 0.0, 0, 1, 10, 100];

var AlignDecimal = function(NumberArray){

    var numberStructureArray = [];

    for (var i = 0; i < NumberArray.length; i++){    
        numberStructureArray.push({
            value:NumberArray[i],
            toString:"",
            decimalIndex:-1,
            integer:"",
            integerLength:-1,
            mantissa:"",
            mantissaLength:-1,
            sign:""
        });
        document.writeln(numberStructureArray[i].value + '<br/>');
    }
};

AlignDecimal(numArray);

关于javascript - 设置对象数据结构数组属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27965076/

相关文章:

javascript - 更新数组需要 MongoDB 帮助

arrays - Firestore 无法使用 FieldValue.arrayUnion() 将项目数组合并到另一个数组

python - 如何在维护索引的同时将一个 numpy 数组的内容复制到另一个?

python - 在 python 中跟踪索引数组时出现意外行为

javascript - 如何在 HTML 中使用 JavaScript 返回值

javascript - 在 for 循环中更改 SVG 行的 strokeDashoffset

javascript - Python本地服务器问题: rfile gets truncated when posting through ajax

javascript - 什么是检查 javascript 对象/方法何时出现在浏览器中的好网站?

mysql - 从 mysql 表中获取 json 格式的所有行

javascript - 获取所有选定的 ="selected"值并放入数组中