如何将某些值从字符串传递到数组? [重复]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我有类似这样的字符串:

`var string = "This is some the text [and_this] and some more text [and_this2] and also [and_this3]"`

我希望有一个简单的带有方括号值的数组:

`{
0: [and_this]
1: [and_this2]
2: [and_this3]
}`

因此,基本上,我希望将方括号之间的所有文本-以及方括号本身-获取到一个新数组。诸如“获得方括号内的所有值。如何实现?非常感谢!

我不确定如何开始查找括号forEach(), indexOf()之间的所有文本,还有其他吗?什么发现推到数组。任何帮助表示赞赏。

javascript arrays
1个回答
0
投票

没有正则表达式,性能未直接优化为单点版本,这还将向您介绍Js的全能-reduce

 var expression= `var string = "This is some the text [and_this] and some more text [and_this2] and also [and_this3]"`;

 var values = expression.split("[").reduce((result, current) => {
        var parts =  current.split("]");
        if (parts.length > 1){
            result.push(parts[0]);
        }
        return result;
    }, []);
© www.soinside.com 2019 - 2024. All rights reserved.