从二维数组中的每个数组中删除特定元素
Removing a specific element from each array in a 2D array
我正在尝试使用数组从每个数组中删除第 3 个元素。
我有:
data =
[["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]]
我需要的是:
data =
[["51.9435","-4.26697","125"],
["51.9437","-4.26717","125"],
["51.9438","-4.26733","125"],
["51.944","-4.26748","125"]]
我假设使用 splice 但想不出如何将它与二维数组一起使用。
对每个子数组使用splice
。
const data = [["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]]
for( const array of data )
array.splice(2, 1)
console.log(data)
编辑:为了保持原始数据的完整性,您需要在拼接之前复制数组。
const data = [["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]]
const converted = data.map(function(array){
const copy = array.slice()
copy.splice(2, 1)
return copy
})
console.log(data)
console.log(converted)
您可以使用以下代码片段
data =[["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]];
data.map( (arr) => {arr.splice(2,1);});
console.log(data);
您可以将 .map()
与 .splice()
一起使用。
.map()
使用从回调函数返回的值创建一个新数组。
.splice()
从数组中删除一个或多个元素。
演示:
let data =[
["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]
];
let removeIndex = (array, index) => array.map(a => (a.splice(index, 1), a));
console.log(removeIndex(data, 2));
文档:
在这种情况下,您可以使用 splice
提供要删除的索引的索引 2
和 1
如果您只想删除一个元素。
data = [
["51.9435", "-4.26697", "450", "125"],
["51.9437", "-4.26717", "450", "125"],
["51.9438", "-4.26733", "450", "125"],
["51.944", "-4.26748", "450", "125"],
]
data.forEach( arr => {
// loop over all arrays to get the individual ones.
arr.splice(2 , 1) // then call splice.
})
console.log(data)
我正在尝试使用数组从每个数组中删除第 3 个元素。
我有:
data =
[["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]]
我需要的是:
data =
[["51.9435","-4.26697","125"],
["51.9437","-4.26717","125"],
["51.9438","-4.26733","125"],
["51.944","-4.26748","125"]]
我假设使用 splice 但想不出如何将它与二维数组一起使用。
对每个子数组使用splice
。
const data = [["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]]
for( const array of data )
array.splice(2, 1)
console.log(data)
编辑:为了保持原始数据的完整性,您需要在拼接之前复制数组。
const data = [["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]]
const converted = data.map(function(array){
const copy = array.slice()
copy.splice(2, 1)
return copy
})
console.log(data)
console.log(converted)
您可以使用以下代码片段
data =[["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]];
data.map( (arr) => {arr.splice(2,1);});
console.log(data);
您可以将 .map()
与 .splice()
一起使用。
.map()
使用从回调函数返回的值创建一个新数组。.splice()
从数组中删除一个或多个元素。
演示:
let data =[
["51.9435","-4.26697","450","125"],
["51.9437","-4.26717","450","125"],
["51.9438","-4.26733","450","125"],
["51.944","-4.26748","450","125"]
];
let removeIndex = (array, index) => array.map(a => (a.splice(index, 1), a));
console.log(removeIndex(data, 2));
文档:
在这种情况下,您可以使用 splice
提供要删除的索引的索引 2
和 1
如果您只想删除一个元素。
data = [
["51.9435", "-4.26697", "450", "125"],
["51.9437", "-4.26717", "450", "125"],
["51.9438", "-4.26733", "450", "125"],
["51.944", "-4.26748", "450", "125"],
]
data.forEach( arr => {
// loop over all arrays to get the individual ones.
arr.splice(2 , 1) // then call splice.
})
console.log(data)