Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript拆分和填充字符串_Javascript - Fatal编程技术网

Javascript拆分和填充字符串

Javascript拆分和填充字符串,javascript,Javascript,我有一个字符串: 比萨饼(食物)、橙子(水果)、三明治(食物)、生菜(蔬菜)、苹果(水果) ,汉堡(食物) 我想将字符串填充为: 食物:比萨饼、三明治、汉堡 水果:桔子,苹果 蔬菜:莴苣 硬核 var str = "Pizza(food), Orange(fruit), Sandwich(food), lettuce(vegetable), Apple(fruit) ,Burger(food)"; var obj = str.split(',').reduce(function(acc, to

我有一个字符串:

比萨饼(食物)、橙子(水果)、三明治(食物)、生菜(蔬菜)、苹果(水果)
,汉堡(食物)
我想将字符串填充为:

食物:比萨饼、三明治、汉堡
水果:桔子,苹果
蔬菜:莴苣
硬核

var str = "Pizza(food), Orange(fruit), Sandwich(food), lettuce(vegetable), Apple(fruit) ,Burger(food)";
var obj = str.split(',').reduce(function(acc, token){
   token = token.trim().split(/\(|\)/).filter(Boolean);
   return (acc[token[1]]||(acc[token[1]] = [])).push(token[0]), acc;
}, {});

var newStr = Object.keys(obj).map(function(key){
   return key + ': ' + obj[key].join(', ');
}).join('\n');
更核心的:

var s = "Pizza(food), Orange(fruit), Sandwich(food), lettuce(vegetable), Apple(fruit) ,Burger(food)";

var result = s.split(",");

console.log(result);
var s1 = "food : ";
var s2 = "fruit : ";
var s3 = "vegetable : ";
for (var i = 0; i < result.length; i++){

    var item = result[i].replace(/\(/,"-").replace(/\)/,"").split("-");

    switch(item[1]){
        case "food":
            s1 += item[0] + " ";
            break;
        case "fruit":
             s2 += item[0] + " ";
            break;
        case "vegetable":
             s3 += item[0] + " ";
            break;

    }  
}

console.log(s1+"\n"+s2+"\n"+s3);
var s=“比萨饼(食品)、橙子(水果)、三明治(食品)、生菜(蔬菜)、苹果(水果)、汉堡(食品)”;
var结果=s.split(“,”);
控制台日志(结果);
var s1=“食品:”;
var s2=“水果:”;
var s3=“蔬菜:”;
对于(变量i=0;i
那么,你还在等什么?吉时?谢谢你的帮助!它在调试模式(f5)下工作正常。但是,在我将其发布到本地服务器之后。这个功能不起作用。有什么想法吗?@0070不知道。您是否用函数包装了此代码?什么用作输入?你能在这里重现这个问题吗?您使用的浏览器是什么(如您所见,此代码使用了一些ES5功能)?