Javascript过滤器函数:我如何使这个过滤器出绿色水果
Javascript Filter Function: How do I make this filter out the green fruits?
var fruits = [
{name: 'nectarine', color: 'orange'},
{name: 'grape', color: 'purple'},
{name: 'banana', color: 'yellow'},
{name: 'grapefruit', color: 'orange'},
{name: 'watermelon', color: 'green'},
{name: 'strawberry', color: 'red'},
{name: 'apple', color: 'red'},
{name: 'pear', color: 'green'},
{name: 'pineapple', color: 'yellow'},
{name: 'kiwi', color: 'green'},
];
var green = [];
for(var i=0; i<fruits.length; i++){
if(fruits[i].color ==='green')
green.push(fruits[i]);
}
我如何使这个过滤掉绿色水果,同时仍然使用for循环?
提前感谢您的协助!
你可以在你的水果数组中使用JavaScript filter
:
var fruits = [{
name: 'nectarine',
color: 'orange'
}, {
name: 'grape',
color: 'purple'
}, {
name: 'banana',
color: 'yellow'
}, {
name: 'grapefruit',
color: 'orange'
}, {
name: 'watermelon',
color: 'green'
}, {
name: 'strawberry',
color: 'red'
}, {
name: 'apple',
color: 'red'
}, {
name: 'pear',
color: 'green'
}, {
name: 'pineapple',
color: 'yellow'
}, {
name: 'kiwi',
color: 'green'
}, ];
var green = [];
var green = fruits.filter(function(fruit) {
return fruit.color === "green";
});
console.log(green);
var fruits = [
{name: 'nectarine', color: 'orange'},
{name: 'grape', color: 'purple'},
{name: 'banana', color: 'yellow'},
{name: 'grapefruit', color: 'orange'},
{name: 'watermelon', color: 'green'},
{name: 'strawberry', color: 'red'},
{name: 'apple', color: 'red'},
{name: 'pear', color: 'green'},
{name: 'pineapple', color: 'yellow'},
{name: 'kiwi', color: 'green'},
];
// only the name
var green_Names = [];
fruits.map(function(fruit){
if(fruit.color === 'green') green_Names.push( fruit.name );
});
var notGreen_Names = [];
fruits.map(function(fruit){
if(fruit.color !== 'green') notGreen_Names.push( fruit.name )
});
// the full Objects
var green = fruits.filter(function(fruit){
return fruit.color === 'green'
});
var notGreen = fruits.filter(function(fruit){
return fruit.color !== 'green'
});
var el = document.getElementById('el');
el.innerHTML = 'Only the names : <br><br>';
el.innerHTML += 'green_Names : <pre>' + JSON.stringify(green_Names ,null, ' ') + '</pre>';
el.innerHTML += 'notGreen_Names : <pre>' + JSON.stringify(notGreen_Names ,null, ' ') + '</pre>';
el.innerHTML += 'The full objects : <br><br>';
el.innerHTML += 'Green : <pre>' + JSON.stringify(green ,null, ' ') + '</pre>';
el.innerHTML+= 'NotGreen : <pre>' + JSON.stringify(notGreen ,null, ' ') + '</pre>';
<div id='el'></div>
// only the names
var green_Names = [];
fruits.map(function(fruit){
if(fruit.color === 'green') green_Names.push( fruit.name );
});
var notGreen_Names = [];
fruits.map(function(fruit){
if(fruit.color !== 'green') notGreen_Names.push( fruit.name )
});
// the full Objects
var green = fruits.filter(function(fruit){
return fruit.color === 'green'
});
var notGreen = fruits.filter(function(fruit){
return fruit.color !== 'green'
});
示例过滤器:
const notGreen1 = fruits.filter(fruit => fruit.color !== 'green');
console.log(notGreen1);
示例for循环:
function removeColor(originalArray, color) {
const newArray = [];
for(let i = 0; i < originalArray.length; i++) {
if(originalArray[i].color !== color) {
newArray.push(originalArray[i]);
}
}
return newArray;
}
const notGreen2 = removeColor(fruits, 'green');
console.log(notGreen2);
相关文章:
- 有没有办法使这段代码更短
- 将“按$index跟踪”与过滤器一起使用时,出现错误.如何解决这个问题
- 如何使这参考我点击的对象Javascript
- 如何使这条线加粗
- 如何使这三个部分具有视差滚动
- 是否有一种方法使这段代码的变量
- 对Javascript非常陌生.我怎样才能使这段代码可扩展/更干净
- 如何使这个数组在参数列表中工作,就像匿名属性一样
- 我如何使这段代码工作自定义'Facebook Like Box'
- 如何使这段代码更清晰
- 我怎样才能使这段代码只平滑滚动我想要的元素
- 如何使这两个javascript代码协同工作
- 是什么使这两个require.js调用彼此不同呢?
- 如何使这张桌子的高度等于中间的高度
- 使这段JS代码不引人注目.为未知id编写事件侦听器
- 我如何使这只显示一个结果,并添加一个随机按钮
- 如何使这部分代码不在Safari中执行
- 我该如何使这类代码在添加到列表中的每个项目之间都有中断
- 如何使这段代码与jQuery一起工作
- 我怎样才能使这段代码更短