Javascript使用IF语句填充数组
是否有方法在数组中填充if条件 范例Javascript使用IF语句填充数组,javascript,arrays,Javascript,Arrays,是否有方法在数组中填充if条件 范例 cars = [ {id:1,color:'red'}, {id:2,color:'blue'}, {id:3,color:'blue'} ] 我需要创建一个新的数组,该数组将获得ID的值和一个新的字段类型 if color = red, type = 1, else type = 0. 我尝试了这个,但它对javascript不起作用 var newArray = [ for(var car in cars){ newI
cars = [
{id:1,color:'red'},
{id:2,color:'blue'},
{id:3,color:'blue'}
]
我需要创建一个新的数组,该数组将获得ID的值和一个新的字段类型
if color = red, type = 1, else type = 0.
我尝试了这个,但它对javascript不起作用
var newArray = [
for(var car in cars){
newId: car.id,
if(car.color == 'red'){
type: '1',
else
type: '0'
}
]
返回值应为
newArray = [
{newId:1,type:'1'},
{newId:2,type:'0'},
{newId:3,type:'0'}
]
请提供帮助您可以轻松地将原始阵列转换为新阵列
const cars=[{id:1,color:red},{id:2,color:blue},{id:3,color:blue}]
const newArray=cars.mapcar=>{
newId:car.id,
类型:car.color=='red'?'1':'0'
}
console.infonewArray您可以轻松地将原始数组转换为新数组
const cars=[{id:1,color:red},{id:2,color:blue},{id:3,color:blue}]
const newArray=cars.mapcar=>{
newId:car.id,
类型:car.color=='red'?'1':'0'
}
console.infonewArray我相信这就是您想要的:
var newArray = [];
for(var car in cars) {
var obj = {newId: car.id};
if(car.color === 'red') {
obj['type'] = '1';
} else {
obj['type'] = '0';
}
newArray.push(obj);
}
我相信这就是你想要的:
var newArray = [];
for(var car in cars) {
var obj = {newId: car.id};
if(car.color === 'red') {
obj['type'] = '1';
} else {
obj['type'] = '0';
}
newArray.push(obj);
}
给定的数组是错误的,如果您的数组如下所示:
cars =[
{id:1,color:"red"},
{id:2,color:"blue"},
{id:3,color:"blue"}
];
那么你应该这样做:
var newArray = cars.map((car) => { let type; if(car.color === "blue") type = 1; else type = 0; return { id: car.id, color: car.color, type }})
给定的数组是错误的,如果您的数组如下所示:
cars =[
{id:1,color:"red"},
{id:2,color:"blue"},
{id:3,color:"blue"}
];
那么你应该这样做:
var newArray = cars.map((car) => { let type; if(car.color === "blue") type = 1; else type = 0; return { id: car.id, color: car.color, type }})
请尝试使用以下代码:
var newArray = [];
for(var car in cars){
if(car.color == 'red'){
newArray.push({newId: car.id,type: '1'});
} else {
newArray.push({newId: car.id,type: '0'});
}
}
请尝试使用以下代码:
var newArray = [];
for(var car in cars){
if(car.color == 'red'){
newArray.push({newId: car.id,type: '1'});
} else {
newArray.push({newId: car.id,type: '0'});
}
}
这就是Array Map函数的用途,您可以从另一个数组创建 但是,您的数组错误,已在下面的代码中更正:
cars =[
{id:1,color:'red'},
{id:2,color:'blue'},
{id:3,color:'blue'}
]
newCarArray=cars.map(function(car){
if(car.color =='red'){
return {newId:car.id, type:1}
}
return {newId:car.id, type:0}
})
console.log (newCarArray)
这就是Array Map函数的用途,您可以从另一个数组创建 但是,您的数组错误,已在下面的代码中更正:
cars =[
{id:1,color:'red'},
{id:2,color:'blue'},
{id:3,color:'blue'}
]
newCarArray=cars.map(function(car){
if(car.color =='red'){
return {newId:car.id, type:1}
}
return {newId:car.id, type:0}
})
console.log (newCarArray)
指定的对象错误:cars=[[id:1,颜色:红色],[id:2,颜色:蓝色],[id:3,颜色:蓝色]];您的数组/对象语法不正确。每个car条目应该看起来像{id:1,color:'red'}新的对象类型属性应该是数字1或0,还是字符串1或0?你的问题说明了这两个方面。不介意语法这只是一个表示-为什么不使用所有答案中所示的标准JS对象文字语法?我修正了语法,在适当的地方使用对象文字。我希望您指定的对象是错误的:cars=[[id:1,颜色:红色],[id:2,颜色:蓝色],[id:3,颜色:蓝色];您的数组/对象语法不正确。每个car条目应该看起来像{id:1,color:'red'}新的对象类型属性应该是数字1或0,还是字符串1或0?你的问题说明了这两个方面。不介意语法这只是一个表示-为什么不使用所有答案中所示的标准JS对象文字语法?我修正了语法,在适当的地方使用对象文字。我希望这样可以修改原始值。看起来OP不想这样做。这会修改原始值。看起来OP不想这么做很酷!这是最好的答案,对我来说很有用。我将遵循这一点。非常感谢你。嗨,phil,如果你能把if语句写成字符串,你会有可能吗?因为我需要将其应用于字符串问题。我只是使用了一个小样本的表示来显示我的problem@ReyNorbertBesmonte你的意思是1和0值应该是字符串吗?如果是这样,你被要求澄清这一点。。如果红色=这是红色,我们就做吧,否则这不是红色。我让它工作起来了。非常感谢你。。。它似乎在IE上有一个兼容性问题。它说它有语法错误。我需要找到解决这个问题的办法。在Edge、Firefox和Chrome中运行良好。酷!这是最好的答案,对我来说很有用。我将遵循这一点。非常感谢你。嗨,phil,如果你能把if语句写成字符串,你会有可能吗?因为我需要将其应用于字符串问题。我只是使用了一个小样本的表示来显示我的problem@ReyNorbertBesmonte你的意思是1和0值应该是字符串吗?如果是这样,你被要求澄清这一点。。如果红色=这是红色,我们就做吧,否则这不是红色。我让它工作起来了。非常感谢你。。。它似乎在IE上有一个兼容性问题。它说它有语法错误。我需要找到解决这个问题的办法。在Edge、Firefox和Chrome中工作正常。对不起,第二个应该是type=0对不起,第二个应该是type=0