Javascript 关于函数和参数
Javascript新手,仍然对参数感到困惑 以下是一些代码:Javascript 关于函数和参数,javascript,parameters,Javascript,Parameters,Javascript新手,仍然对参数感到困惑 以下是一些代码: var people = [{ name: 'Casey', rate: 60 }, { name: 'Camille', rate: 80 }, { name: 'Gordon', rate: 75 }, { name: 'Nigel', rate:
var people = [{
name: 'Casey',
rate: 60
},
{
name: 'Camille',
rate: 80
},
{
name: 'Gordon',
rate: 75
},
{
name: 'Nigel',
rate: 120
}
];
function priceRange(person) {
return (person.rate >= 65) && (person.rate <= 90);
};
var results = [];
results = people.filter(priceRange);
var people=[{
姓名:'凯西',
收费:60
},
{
姓名:“卡米尔”,
比率:80
},
{
姓名:'戈登',
比率:75
},
{
姓名:“奈杰尔”,
收费:120
}
];
功能价格范围(人){
return(person.rate>=65)&(person.rate函数Array.prototype.filter()
在调用它的数组中循环,并使用每个元素作为参数调用回调函数。因此,当使用people.filter(priceRange)
时,filter()
函数调用priceRange
和人的每个元素。filter()
的代码是这样的(我对其进行了极大的简化,只是为了展示这部分的工作原理):
函数过滤器(回调){
var结果=[];
for(var i=0;i
数据结构:
- 这是一个数组
{attr1:'val1',attr2:'val2',…}
这是一个文本对象
文档有助于您理解吗?谢谢,我理解filter()是如何工作的,我只是对传递参数的问题更加困惑。我知道person是priceRange()函数中的参数,但是“person”是如何工作的来自以及为什么person.name等于people.name?请记住以下回调规则:您可以为参数选择任何名称(person
,元素
,…项
),但是您应该保持顺序(person
是1ˢᵗ arg,索引是2ⁿᵈ (等等)
function filter(callback) {
var result = [];
for (var i = 0; i < this.length; i++) {
if (callback(this[i])) {
result.push(this[i]); // This gets person from people
}
}
return result;
}