现在有一个数字与中文混合的字符串的数组
var arr=’[“21”,“22”,“444”,“中文”]’
var arr='["21","22","444","中文"]'
arr=eval("("+arr+")")//["21", "22", "444", "中文"]
var arr2 = arr.map((ele,idx)=> {return !isNaN(arr.map(Number)[idx]) ?arr.map(Number)[idx]:ele})// [21, 22, 444, "中文"]
思路就是将数组全部的数字先转换出来,然后因为非数字会转换成NaN,遍历时就通过isNaN()判断这个位置的元素是否非数字
如果还有更优雅的方法可以留言一起讨论