Javascript 如何比较两个数组';s值,如果两者相等或不相等,则返回该值的差异按钮
我正在呈现一个平面列表,我想根据按钮的ID是否在我的购物车中显示一个按钮。我怎样才能做到 这是我的按钮代码:Javascript 如何比较两个数组';s值,如果两者相等或不相等,则返回该值的差异按钮,javascript,reactjs,react-native,react-native-android,react-native-ios,Javascript,Reactjs,React Native,React Native Android,React Native Ios,我正在呈现一个平面列表,我想根据按钮的ID是否在我的购物车中显示一个按钮。我怎样才能做到 这是我的按钮代码: addBtn = (id) => { try{ let productAdded = this.state.addedToCart; return productAdded.map((pid) => { if (pid == id) { /
addBtn = (id) => {
try{
let productAdded = this.state.addedToCart;
return productAdded.map((pid) => {
if (pid == id) {
// console.log(pid);
// console.log("-----------");
console.log(id + " is added into cart");
return(
<Button
key={id}
style={{
backgroundColor: '#fff',
borderWidth: 2,
borderColor: '#2e6153',
borderStyle: 'solid',
}}
>
<Text style={{color: '#2e6153',}}>Added</Text>
</Button>
);
} else {
console.log("not added to cart");
return(
<Button
key={id}
onPress={() => {
this.saveCart(id);
}}
style={{
backgroundColor: '#2e6153',
borderWidth: 2,
borderColor: '#2e6153',
borderStyle: 'solid',
width: 80,
alignItems: 'center',
justifyContent: 'center',
}}
>
<Text>Add</Text>
</Button>
);
}
});
}catch(errors){
console.log(errors);
}
}
addBtn=(id)=>{
试一试{
让productAdded=this.state.addedToCart;
返回productAdded.map((pid)=>{
如果(pid==id){
//控制台日志(pid);
//console.log(“--------------”;
console.log(id+“已添加到购物车”);
返回(
补充
);
}否则{
控制台日志(“未添加到购物车”);
返回(
{
这个.saveCart(id);
}}
样式={{
背景颜色:“#2e6153”,
边界宽度:2,
边框颜色:“#2e6153”,
边框样式:“实心”,
宽度:80,
对齐项目:“居中”,
为内容辩护:“中心”,
}}
>
添加
);
}
});
}捕获(错误){
console.log(错误);
}
}
其中,“addBtn=(id)”的id来自平面列表的renderItem
这个.state.addedToCart是我购物车中的物品数组。
目前我在购物车中添加了两个项目,因此this.state.addedToCart=[“1015”,“1016”]
输出为:
我只想渲染一次,但按钮渲染的次数与我的购物车大小相同。我想可能有问题:
return productAdded.map((pid) => {
只需将其删除并将if语句更改为:
if (productAdded.includes(id)) {
因此,它将只返回一个按钮