Javascript 通过下划线.js删除数组元素
我在前端使用下划线.js,我想从二维数组中删除一对值。我做错了什么,因为下面的方法不起作用 如何将元素添加到数组中:Javascript 通过下划线.js删除数组元素,javascript,underscore.js,Javascript,Underscore.js,我在前端使用下划线.js,我想从二维数组中删除一对值。我做错了什么,因为下面的方法不起作用 如何将元素添加到数组中: google.maps.event.addListener(map, 'click', function (event) { var latitude = event.latLng.lat() var longitude = event.latLng.lng() coordinatesForMarker.push([latitude, longitude]) 我如何
google.maps.event.addListener(map, 'click', function (event) {
var latitude = event.latLng.lat()
var longitude = event.latLng.lng()
coordinatesForMarker.push([latitude, longitude])
我如何尝试删除:
google.maps.event.addListener(marker, 'click', function (event) {
var latitude = event.latLng.lat()
var longitude = event.latLng.lng()
var newArray = _.without(coordinatesForMarker, ([latitude, longitude]))
有没有其他解决方案,一个不需要库的解决方案?让我们试试findWhere
var-arr=[[
1,2
], [
3.
3.
], [
5.
6.
]];
//减三分之一
arr=u0.without(arr,0.findWhere(arr[5,6]);
控制台日志(arr)代码>
让我们试试findWhere
var-arr=[[
1,2
], [
3.
3.
], [
5.
6.
]];
//减三分之一
arr=u0.without(arr,0.findWhere(arr[5,6]);
控制台日志(arr)代码>
有没有其他解决方案,一个不需要库的解决方案
绝对是!您可以通过使用本机数组方法在没有库的情况下实现这一点。它将函数作为参数,如果要保留元素,则返回true;如果要排除元素,则返回false
var Coordinates Formarker=[[41.482583,-82.687353],[52.986944,-1.882778],[35.706336139.753277];
var纬度=52.986944;
变量经度=-1.882778;
var newArray=coordinatesForMarker.filter(函数(coord){
返回坐标[0]!==纬度和坐标[1]!==经度;
});
console.log(newArray)
有没有其他解决方案,一个不需要库的解决方案
绝对是!您可以通过使用本机数组方法在没有库的情况下实现这一点。它将函数作为参数,如果要保留元素,则返回true;如果要排除元素,则返回false
var Coordinates Formarker=[[41.482583,-82.687353],[52.986944,-1.882778],[35.706336139.753277];
var纬度=52.986944;
变量经度=-1.882778;
var newArray=coordinatesForMarker.filter(函数(coord){
返回坐标[0]!==纬度和坐标[1]!==经度;
});
log(newArray)
由于您的数组包含数组的引用,所以比较并不容易,但让我以更详细的方式解释一下
例如,您有一个数组:
myArray=[[21222]、[214314]]
数组实际上只包含对其数组的引用,因此“内部”数组如下所示:
myArray=[arrc@0x212414 , arrc@0x253211]
如果您现在尝试比较解析为Underline函数的数组,则库只会比较那些相等的引用
因此,解决问题的更好方法可能是过滤数组,并定义自己的函数来正确比较这些数组
newArray=myArray.filter((元素)=>{
元素[0]!==event.lang和元素[1]!==event.long
})
由于您的数组包含数组的引用,因此比较并不容易,但让我以更详细的方式解释一下
例如,您有一个数组:
myArray=[[21222]、[214314]]
数组实际上只包含对其数组的引用,因此“内部”数组如下所示:
myArray=[arrc@0x212414 , arrc@0x253211]
如果您现在尝试比较解析为Underline函数的数组,则库只会比较那些相等的引用
因此,解决问题的更好方法可能是过滤数组,并定义自己的函数来正确比较这些数组
newArray=myArray.filter((元素)=>{
元素[0]!==event.lang和元素[1]!==event.long
})
您是否实际将newArray
分配给Coordinates Formarker
?否,我正在尝试将更新的数组分配给newArray。您是否实际将newArray
分配给Coordinates Formarker
?否,我正在尝试将更新的数组分配给newArray。