【问题标题】:find the duplicate element count using array element and array string使用数组元素和数组字符串查找重复元素计数
【发布时间】:2021-01-14 20:52:13
【问题描述】:

我在单个函数中传递一个数组元素和数组字符串,然后转换为字符串并查找重复元素计数。

function count5numbers1(arr, arr1) {
  let m1 = arr.toString().match(/[5]/gi);
  let m2 = arr1.toString().match(/[5]/gi);
  if (m1 === null && m2 != null) {
    return m1 = 0;
  } else if (m1 != null) {
    return m1.length;
  } else if (m2 === null) {
    return m2 = "it's not a number";
  } else {
    return m2.length;
  }
}
console.log(count5numbers1([1, 2, 5, 43], [5]));
console.log(count5numbers1([1, 2, 3, 5], [5]));
console.log(count5numbers1([1, 2, 4, 2], [5]));
console.log(count5numbers1([2, 4, 54, 15], [5]));
console.log(count5numbers1([1, 5, 55, 555], [5]));
console.log(count5numbers1([6, 3, 2, 1], [5]));
console.log(count5numbers1(['notnumber,its a string'], []));

但我需要使用一个参数,只有 m1 得到相同的结果。

结果将是: 1 1 0 2 6 0 这不是一个数字

【问题讨论】:

  • 查找重复的标准是什么,完全取决于m2。
  • 可以,但是我只需要传递m1参数(arr)就可以得到同样的结果,不需要m2和arr1(parameter)

标签: javascript arrays function if-statement match


【解决方案1】:
function count5numbers1(arr) {
  const m1 = arr.toString().match(/[5]/g);
  if (arr.some(e => typeof e != 'number')) {
    return "it's not a number";
  } else if (m1 === null) {
    return 0;
  } else {
    return m1.length;
  }
}

console.log(count5numbers1([1, 2, 5, 43]));
console.log(count5numbers1([1, 2, 3, 5]));
console.log(count5numbers1([1, 2, 4, 2]));
console.log(count5numbers1([2, 4, 54, 15]));
console.log(count5numbers1([1, 5, 55, 555]));
console.log(count5numbers1([6, 3, 2, 1]));
console.log(count5numbers1(['notnumber,its a string']));

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 2017-05-14
    • 2021-10-15
    相关资源
    最近更新 更多