繁体   English   中英

从JavaScript对象返回多个变量的正确方法

[英]Proper way to return multiple variable from a javascript object

我目前正在学习有关javascript对象内部工作的更多信息,并遇到了一个从该对象返回多个变量的示例:

var squareGrid = function(width, n, z) {
        width = width || 1;
        n = n || 4;
        var z = z || width / 2.0;

        var edges = [],
            pts = [];

        var step = width / n;
        for (var u = 0; u < n; u++) {
            var u_added = u * n * 4;
            for (var v = 0; v < n; v++) {
                var delta = u_added + 4 * v;

                var t_v = step * (v - n / 2);
                var t_u = step * (u - n / 2);

                pts.push([t_v, t_u, z]); // top left
                pts.push([t_v, t_u + step, z]); // top right
                pts.push([t_v + step, t_u + step, z]); // bottom right
                pts.push([t_v + step, t_u, z]); // bottom left

                edges.push([delta + 0, delta + 1]);
                edges.push([delta + 1, delta + 2]);
                edges.push([delta + 2, delta + 3]);
                edges.push([delta + 3, delta + 0]);
            }

        }
        return {
            edges: edges,
            pts: pts
        };
    }

在这种情况下,为了同时返回edgespoints ,似乎要返回键-值对,其中键和值是相同的。 此方法是否必要?是否可以执行以下操作?

return{ edges, pts}};

您将返回一个对象,其中键将是edge,值将是edge的返回值。

x = squareGrid(400, 2, 5)

x.edges
// edges
x.pts
//pts

您可以执行以下操作:data = callfunction()-> return [edges,points]

data[0]
// edges
data[1]
//points

**更正**当密钥存储在js哈希中时,它将在尝试存储值之前对密钥进行序列化

将存储的是数组的序列化版本作为键,值是数组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM