从变量中提取多个字符串除以垂直线

时间:2016-12-11 11:55:16

标签: javascript regex for-loop google-tag-manager

在我们客户的网站上有一个javascript变量,页面类别除以垂直线。这是一个例子:

category_name = "Products|Healthy|Chia pudding";

我需要提取这些类别并将其放入单独的变量中:

category_name_1 = "Products";
category_name_2 = "Healthy";
category_name_3 = "Chia pudding";

你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

您可以使用split功能

category_name_array = category_name.split("|"); 
     -> ["Products", "Healthy", "Chia pudding"]

然后您可以像这样访问它:

console.log(category_name_array[0]); -> "Products"
console.log(category_name_array[1]); -> "Healthy"
console.log(category_name_array[2]); -> "Chia pudding"

答案 1 :(得分:0)

使用ES.next解构:

const [
    category_name_1, 
    category_name_2,
    category_name_3
] = category_name.split('|');

使用ES5语法:

var names = category_name.split('|');
var category_name_1 = names[0];
var category_name_2 = names[1];
var category_name_3 = names[2];

更好的方法是使用一个简单的数组而不是变量。因此,使用上面的示例,只要您需要第一个类别,只需使用names[0]来引用它。