0

我需要帮助处理可以同时包含 ALPHANUMERIC 和 NON-ALPHANUMERIC 元素的数组。

我需要为 ALPHANUMERIC 执行一个操作,并为 NON-ALPHANUMERIC 执行一个不同的操作。

我一直在尝试不同的方式来声明语句 If 以区分这两个选项,但我没有想出正确的公式。

我能得到的最接近的解决方案太脏了,我只是告诉程序元素必须不同于“”并且不同于“!” 和“?”不同。不是一个干净的解决方案。有人可以帮忙吗?也许使用正则表达式?

  var myArray=["H","O","W"," ","A","R","E"," ","U","?"];
  var i=0;


  while(i<myArray.length){

  if(myArray[i]!=" " && myArray[i]!="!"&& myArray[i]!="?"&& myArray[i]!="."){
  //PERFORM ACTION 1 Example:
  return: "Hello";
  }


  else{
  //PERFORM ACTION 2 Example:
  return: "Goodbye";
  }

  i++;
  }

我尝试了以下正则表达式,但没有成功:

if(myArray[i]!=[A-Za-z0-9_])

并且:

if(myArray[i]!=/\W/g)

它们都不起作用:(请帮助。

谢谢你。

4

1 回答 1

0

解决方案:

var myArray=["H","O","W"," ","A","R","E"," ","U","?"];
var i=0;
var alphaChecker = new RegExp("^[a-zA-Z0-9_]*$");



while(i<myArray.length){

if(alphaChecker.test(myArray[i])){
//PERFORM ACTION 1 Example:
myArray[i]= "Hello";
}


else{
//PERFORM ACTION 2 Example:
myArray[i]= "Goodbye";
}

i++;
}

return myArray;

这很好用。

于 2016-01-18T07:46:22.820 回答