Javascript-从数组中删除特定类型(字符串、int)的元素

Javascript-从数组中删除特定类型(字符串、int)的元素,javascript,arrays,Javascript,Arrays,带阵列1: array1 = [["hello",1],["bye",2]] 顺便说一下,array1[0]return[“你好”,1]而不是[“你好”] 如何获取(在新阵列或相同阵列中): 注意我的array1有很多元素(实际上) 谢谢。 如果你有ES5那么 array1.map(function(x) { return x[1] }) 使用 var数组1=[ [“你好”,1], [“再见”,2] ]; var array2=array1.map(函数(项){ 返回[项目[1]]; })

阵列1

array1 = [["hello",1],["bye",2]]
顺便说一下,
array1[0]
return
[“你好”,1]
而不是
[“你好”]

如何获取(在新阵列或相同阵列中):

注意我的
array1
有很多元素(实际上)

谢谢。

如果你有ES5那么

array1.map(function(x) { return x[1] })
使用

var数组1=[
[“你好”,1],
[“再见”,2]
];
var array2=array1.map(函数(项){
返回[项目[1]];
});

控制台日志(array2)
您可以使用
映射
过滤
功能

var array1=[[“你好”,1],“再见”,2]]
var array2=array1.map(a=>a.filter(b=>typeof b!='string'))

控制台日志(array2)这不是最优雅的解决方案,但我在jsconsole中对其进行了测试,效果良好。您还可以在开发工具中测试它

var array1=[[“你好”,1],“再见”,2]]
var数=[];
对于(var i=0;i+(a)))
}

控制台日志(编号)在数组中循环。检查项目是否为数字。如果是这样,将其推到新阵列,并将其从旧阵列中拼接出来

for (var i = 0; i < array1.length; i++) {
    if (typeof array1[i] === 'number') {
        newArray.push(array1[i]);
        array1.splice(i, 1);
    {
}
for(变量i=0;i
循环数组并移除字符串。Splice与位置(在您的示例中为0)和数字元素(要移除的1个元素)一起工作

for(变量i=0;i


结果:[[1][2]]

你在哪里被卡住了,你尝试了什么?数组1[0][0]是数组中的helloop,检查[x][y]==“String”的类型,如果是,则删除它感谢大家的答案…仍然不明白我为什么选择“-2”到我的帖子…可能是因为我是法国人,可能是因为我的英语不好…反正我也不在乎。再次感谢。非常感谢人造丝=)回答得真快,效果很好。
function selectElements(array, type) {
    var result = [];
     for (var i = 0; i < array.length; i++) {
         var arr = [];
         for (var j = 0; j < array[i].length; j++) {
              if (typeof array[i][j] === type) {
                  arr.push(array[i][j]);
              }
         }
         result.push(arr)
    }
   return result;
}
var array2 = selectElements(yourArray, "string")
for (var i = 0; i < array1.length; i++) {
    if (typeof array1[i] === 'number') {
        newArray.push(array1[i]);
        array1.splice(i, 1);
    {
}