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);
{
}