Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.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_Angular - Fatal编程技术网

Javascript 将数组值从特定字符修剪为特定字符

Javascript 将数组值从特定字符修剪为特定字符,javascript,angular,Javascript,Angular,如何从数组中获取特定值? i、 e 输出必须是: "Names": [ "name", "Type", "Option", "Pointer" ] 试着这样做: export class AppComponent { Names = [ "Name[name]", "Result[Type]", "Validation[Option]", "Status[Pointer]" ] construct

如何从数组中获取特定值? i、 e

输出必须是:

"Names": [        
    "name",
    "Type",
    "Option",
    "Pointer"
]
试着这样做:

export class AppComponent {

  Names = [
    "Name[name]",
    "Result[Type]",
    "Validation[Option]",
    "Status[Pointer]"
  ]


  constructor() {
    var modifiedNames = this.Names.map(x => x.split('[').pop().split(']')[0])
    console.log(modifiedNames)
  }
}
请参见

您可以使用方法并根据开始和结束括号抓取子字符串。要在数组use函数的每个元素上迭代,它将创建一个新数组,其中包含对调用数组中的每个元素调用所提供函数的结果

const arr =  [      
        "Name[name]",
        "Result[Type]",
        "Validation[Option]",
        "Status[Pointer]"
    ]

    let result = arr.map((a)=>{ return a.substring(a.indexOf("[") + 1 , a.indexOf("]")) });
    console.log(result);

您可以在数组中循环并使用以下正则表达式来获得所需的输出

const array = [
  "Name[name]",
  "Result[Type]",
  "Validation[Option]",
  "Status[Pointer]"
];
var regexTest = new RegExp(/\[([^\]]+)\]/);
var newArray = array.map(e => regexTest.exec(e)[1]); 

链接

正在运行的子字符串和索引:

let newArray = [];
for(var i=0; i<array.length; i++){  
    var s = array[i];
    var n = s.indexOf('[');
    s = s.substring(n+1, s.length-1);
    newArray.push(s);
}
让newArray=[];

对于(var i=0;i)您是否尝试过该解决方案?
const array = [
  "Name[name]",
  "Result[Type]",
  "Validation[Option]",
  "Status[Pointer]"
];
var regexTest = new RegExp(/\[([^\]]+)\]/);
var newArray = array.map(e => regexTest.exec(e)[1]); 
let newArray = [];
for(var i=0; i<array.length; i++){  
    var s = array[i];
    var n = s.indexOf('[');
    s = s.substring(n+1, s.length-1);
    newArray.push(s);
}
let newArray = [];
for(var i=0; i<array.length; i++){  
    newArray.push(array[i].substring(array[i].indexOf('[')+1, array[i].length-1));
}