如何删除嵌套数组中的特殊字符?

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

那么假设我有一个像这样的数组,那么最有效的方法是通过数组并擦除所有'$'符号?

我尝试了很多不同的方法但是它们似乎都没有正常工作,任何想法?

const myArray = [
        ['$','H','e','$','$','l'],
        ['l','$','o','$','W','o'],
        ['r','l','$','d','$','M'],
        ['y','$','N','a','$','m'],
        ['e','$','i','s','$','p'],
        ['a','b','$','l','$','$'],
        ['$','o','$','$','w','$']
    ];
javascript arrays arraylist
3个回答
1
投票
const myArray = [
    ['$','H','e','$','$','l'],
    ['l','$','o','$','W','o'],
    ['r','l','$','d','$','M'],
    ['y','$','N','a','$','m'],
    ['e','$','i','s','$','p'],
    ['a','b','$','l','$','$'],
    ['$','o','$','$','w','$']
];

const result = myArray.map(arr => arr.filter(letter => letter != '$'));
console.log(result);

1
投票

嵌套的for循环将非常快速地工作:

for (var i = 0; i < myArray.length; i++){
    for (var j = 0; j < myArray[i].length; j++){
      if (myArray[i][j]=='$')
          myArray[i][j]==''
    }
}

1
投票

您可以像这样过滤myArray中的各个数组:

for (let i = 0; i < myArray.length; i++) {
    myArray[i] = myArray[i].filter(x => x != '$');
}
© www.soinside.com 2019 - 2024. All rights reserved.