如何删除数组的元素并将删除的元素保存在变量中:
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);
答案 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'
请注意,在上面的示例中,splice
与Array.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]
我希望这会对您有所帮助!