在箭头函数es6上转换简单for循环

时间:2018-05-12 08:14:27

标签: javascript

嘿我对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)

但他没有工作。

2 个答案:

答案 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;