免责声明: 我觉得这可能会被视为一个简单的"如何展平数组"或"如何对字符串进行排序"。这不是那种问题。 (现在,我觉得有人应该已经问过,尽管如此,但我很幸运能找到它。
在我的代码中,我可以收到一个带有消息的字符串或带有消息的字符串数组。这是一个糟糕的设计,我无法改变。为了向用户呈现所有消息(无论是单个还是一个消息),我都在做以下事情。
let data = error.value;
if (typeof (data) === "string")
data = [data];
data.forEach(_ => this.messages.push({ type: "danger", contents: _ }));
我觉得这个后卫不方便使用if来检查它是不是阵列并且这样做。我更喜欢看到一些字符串形成一个数组,将一个数组生成一个矩阵,然后将它们映射到一维数组(即平衡尺寸)。
如何将数组展平为X维(而不是按Y尺寸展平数组 ?
示例:
"噗" - > ["噗"]
,而
[" poof","摇动","屋顶"] - > [" poof","摇动","屋顶"]
答案 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})