如何从数组中删除项目并将其保存在一个命令中?

时间:2019-01-12 17:28:12

标签: javascript

如何删除数组的元素并将删除的元素保存在变量中:

public class MyFragment extends Fragment {
    private ArrayList<User> myDataset;
    private RecyclerView.Adapter mAdapter;

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        // Inflate the layout for this fragment
        rootView = inflater.inflate(R.layout.fragment_lks, container, false);

        mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);
        myDataset = new ArrayList<User>();
        mAdapter = new MyAdapter(myDataset);

3 个答案:

答案 0 :(得分:3)

您可以为此使用Array.prototype.splice

const arr = ['a', 'b', 'c'];
const removed = arr.splice(1, 1).pop();
console.log(arr) // ['a', 'b', 'c'];
console.log(removed) // 'b'

请注意,在上面的示例中,spliceArray.prototype.pop链接在一起-这是因为@Andreas提到的splice总是返回Array,因此{{ 1}}用于从pop返回的Array中提取单个值。

答案 1 :(得分:2)

您要寻找的是splice。这将要删除的项目索引以及要从中取出的项目数作为参数。因为只想删除1个项目,所以第2个参数将始终为1。Splice也会作为数组返回,因此我们为该[0]编制了索引,以仅获取内容。

var arr = ['a','b','c'];
var item = arr.splice(1,1)[0]; // 'b'

答案 2 :(得分:0)

也许是这样?

Array.prototype.remove=function(i){
    var item=this[i]
    this.splice(i,1)
    return item
}

arr=[1,2,3]
item=arr.remove(1)
console.log(item) //2
console.log(arr) //[1,3]

我希望这会对您有所帮助!