Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript splice()存在问题,当我只想返回单个元素时,它返回一个包含单个元素的数组_Javascript - Fatal编程技术网

Javascript splice()存在问题,当我只想返回单个元素时,它返回一个包含单个元素的数组

Javascript splice()存在问题,当我只想返回单个元素时,它返回一个包含单个元素的数组,javascript,Javascript,我有一个函数,它从数组中删除一个元素,然后返回那个元素,我把它放在另一个数组中,问题是splice()它返回的是一个数组,里面有那个元素,而我只需要元素,就像pop()的情况一样 这是我的拼接和弹出代码 $scope.quitarid = function () { for (var i = 0; i < $scope.info.albumes.length; i++) { if ($scope.info.albumes[i].id === '3') {

我有一个函数,它从数组中删除一个元素,然后返回那个元素,我把它放在另一个数组中,问题是splice()它返回的是一个数组,里面有那个元素,而我只需要元素,就像pop()的情况一样

这是我的拼接和弹出代码

$scope.quitarid = function () {
    for (var i = 0; i < $scope.info.albumes.length; i++) {
        if ($scope.info.albumes[i].id === '3') {
            entrada_3 = $scope.info.albumes.splice(i, 1);
            console.log("entrada quitarid", entrada_3);
            $scope.segundatabla.push(entrada_3);
            break;
        }
    }
    console.log($scope.info.albumes);
};

$scope.quitarcd = function () {
    console.log($scope.info.albumes);
    entrada = $scope.info.albumes.pop();
    console.log($scope.info.albumes);
    console.log("entrada quitarcd", entrada);
    $scope.segundatabla.push(entrada);
    console.log($scope.segundatabla);
};
$scope.quitard=函数(){
对于(变量i=0;i<$scope.info.albumes.length;i++){
如果($scope.info.albumes[i].id=='3'){
entrada_3=$scope.info.albumes.splice(i,1);
控制台日志(“entrada quitarand”,entrada_3);
$scope.segundatabla.push(entrada_3);
打破
}
}
log($scope.info.albumes);
};
$scope.quitarcd=函数(){
log($scope.info.albumes);
entrada=$scope.info.albumes.pop();
log($scope.info.albumes);
console.log(“entrada quitarcd”,entrada);
$scope.segundatabla.push(entrada);
console.log($scope.segundatabla);
};


如果您知道在本例中,splice将始终返回一个数组,该数组仅包含您想要的单个项目,您只需在数组中访问该项目并将其存储在entrada_3中即可。例如:

entrada_3 = $scope.info.albumes.splice(i, 1)[0];

一种方法是使用扩展语法:

$scope.quitarid = function () {
    for (var i = 0; i < $scope.info.albumes.length; i++) {
        if ($scope.info.albumes[i].id === '3') {
            entrada_3 = $scope.info.albumes.splice(i, 1);
            console.log("entrada quitarid", entrada_3);
            ̶$̶s̶c̶o̶p̶e̶.̶s̶e̶g̶u̶n̶d̶a̶t̶a̶b̶l̶a̶.̶p̶u̶s̶h̶(̶e̶n̶t̶r̶a̶d̶a̶_̶3̶)̶;̶
            $scope.segundatabla.push(...entrada_3);
            break;
        }
    }
    console.log($scope.info.albumes);
};
$scope.quitard=函数(){
对于(变量i=0;i<$scope.info.albumes.length;i++){
如果($scope.info.albumes[i].id=='3'){
entrada_3=$scope.info.albumes.splice(i,1);
控制台日志(“entrada quitarand”,entrada_3);
在本研究中,我们将对本研究的开展开展开展的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市,城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的城市的,3)
$scope.segundatabla.push(…entrada_3);
打破
}
}
log($scope.info.albumes);
};
它将解构数组并将它们作为参数传递给
.push
方法

有关详细信息,请参阅


使用
splice()
返回数组,可以使用
entrada_3[0]
访问所需元素。或者
entrada_3=$scope.info.albumes.splice(i,1)[0]