【问题标题】:How do i extract them && How do i remove them我如何提取它们&&我如何删除它们
【发布时间】:2019-02-08 19:34:24
【问题描述】:

我的两个问题都存在于数组上(我是菜鸟,我正在努力学习,抱歉)。所以...

//概率_1 我只想从每个测试中提取我需要的信息。我在不使用对象的情况下这样做。

//概率_2 我正在尝试删除所有垃圾字符以将其他字符存储在新变量中,以显示消息

P.S:我只是想看看怎么做

//Pob_1

const hell = ['test1: Oh god', 'test2: Plz god', 'test3: Plz god no'];

let extractedChar = [];

extractedChar = (databaseEntry[1].Name + databaseEntry[2].Rank + databaseEntry[0].Faction);

console.log(extractedChar);

//Prob_2

const heavenAndHell = [['☆','S','a','☆','☆','t'],
                       ['a','☆','n','☆','H','e'],
                       ['l','p','☆','s','☆','y'],
                       ['o','☆','u','x','☆','D']];

function losingIt(){
  for (let i = 0; i < heavenAndHell ; i++){
    for (let x = 0; x < heavenAndHell [i].length; x++){

      var heaven = '☆';

      if (heaven = '☆'){
        return false;
      } else {
        return true;
      }
    } 
  }
}

【问题讨论】:

  • 你的预期输出是什么
  • 不确定您要在这里实现什么。更好的解释可能会有所帮助。我可以肯定地告诉你的一件事是if (heaven = '☆'){ 很可能是if (heaven == '☆'){。第一个是赋值,第二个是比较

标签: javascript arrays string


【解决方案1】:

问题 1 - mapsplit 删除不需要的字符:

const hell = ['test1: Oh god', 'test2: Plz god', 'test3: Plz god no'];

const words = hell.map(s => s.split(": ")[1]);

console.log(words);

问题 2 - 再次,map 处理数组不需要的字符,但使用正则表达式测试它们,并执行一些数组操作以删除空数组元素并删除多维数组:

const heavenAndHell = [
  ['☆', 'S', 'a', '☆', '☆', 't'],
  ['a', '☆', 'n', '☆', 'H', 'e'],
  ['l', 'p', '☆', 's', '☆', 'y'],
  ['o', '☆', 'u', 'x', '☆', 'D']
];

const words = heavenAndHell.map(a => a.map(e => e.match(/[A-Za-z]/))).flat(2).filter(Boolean).join("");

console.log(words);

【讨论】:

    【解决方案2】:

    问题 1:

    const hell = ['test1: Oh god', 'test2: Plz god', 'test3: Plz god no'];
    
    /* with reduce */
    
    const res = hell.reduce((all, curr) => {
      const obj = curr.split(":");
      all.push({
        [obj[0]]: obj[1]
      });
      return all;
    }, [])
    
    /* with map */
    
    const res2 = hell.map(el => ({
      [el.split(":")[0]]: el.split(":")[1]
    }))
    
    console.log(res2);

    问题 2:

    const heavenAndHell = [
      ['☆', 'S', 'a', '☆', '☆', 't'],
      ['a', '☆', 'n', '☆', 'H', 'e'],
      ['l', 'p', '☆', 's', '☆', 'y'],
      ['o', '☆', 'u', 'x', '☆', 'D']
    ];
    
    /* first solution*/
    
    var word = "";
    
    heavenAndHell.map(el => {
      el.map(el => {
        if (el.match(/[a-z_A-Z]/i))
          word += el;
      })
    })
    
    console.log(word);
    
    /* seconde solution */
    const res = heavenAndHell.flat().filter((el) => el.match(/[a-z_A-Z]/i)).join("");
    
    console.log(res);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 2012-07-18
      • 2013-05-19
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多