在TypeScript

时间:2017-09-01 20:09:57

标签: javascript arrays typescript

免责声明: 我觉得这可能会被视为一个简单的"如何展平数组"或"如何对字符串进行排序"。这不是那种问题。 (现在,我觉得有人应该已经问过,尽管如此,但我很幸运能找到它。

在我的代码中,我可以收到一个带有消息的字符串或带有消息的字符串数组。这是一个糟糕的设计,我无法改变。为了向用户呈现所有消息(无论是单个还是一个消息),我都在做以下事情。

let data = error.value;
if (typeof (data) === "string")
  data = [data];
data.forEach(_ => this.messages.push({ type: "danger", contents: _ }));

我觉得这个后卫不方便使用if来检查它是不是阵列并且这样做。我更喜欢看到一些字符串形成一个数组,将一个数组生成一个矩阵,然后将它们映射到一维数组(即平衡尺寸)。

如何将数组展平为X维(而不是按Y尺寸展平数组

示例:

  

"噗" - > ["噗"]

,而

  

[" poof","摇动","屋顶"] - > [" poof","摇动","屋顶"]

1 个答案:

答案 0 :(得分:0)

您可以使用Array.isArray()并执行以下操作:

import json, urlib
def home(request):
    deviceroles = list()
    if request.method == 'GET'
        url = "http://netbox.com/deviceroles"
        response = urllib.urlopen(url)
        data = json.loads(response.read())

        for i in range(0, len(data['results'])):
            devicerole = data['results'][i]['name']
            deviceroles.append(devicerole)
    return render(request,"base.html", {'deviceroles': deviceroles})