嘿我对es6中的循环和箭头函数有一个简单的问题。我有简单的循环我尝试使用箭头函数使相同的效果。请查看代码:
for(var i = 0; i < app.productsPag.length; i++){
if(app.productsPag[i]._id == data.id){
app.productsPag[i].description = data.description
}
}
上面的代码非常好用。 和ES6:
app.productsPag.forEach(item => item._id == data.id).filter(arr => arr.description == data.description)
但他没有工作。
答案 0 :(得分:4)
只需使用默认对象进行查找和更新。
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users").child(user_id);
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
name = dataSnapshot.child("Name").getValue().toString();
Intent intent = new Intent(getActivity(), Chat.class);
intent.putExtra("Recievers_Id", user_id);
intent.putExtra("Recievers_Name", name);
startActivity(intent);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 1 :(得分:0)
由于您想要操纵/更改现有数据,因此创建另一个变量没有任何意义。
Btw ===也检查类型,通常优先于==
一行:
app.productsPag.find(obj => obj.id === data.id)['description'] = data.description;