gpt4 book ai didi

javascript - 为什么我的扩展功能不起作用?

转载 作者:行者123 更新时间:2023-11-30 16:25:16 24 4
gpt4 key购买 nike

extend是基于各个函数:

function each(collection,iterator) {
if (Array.isArray(collection)) {
for (var i=0; i < collection.length; i++) {
iterator(collection[i]);
}
} else {
for (var key in collection) {
iterator(collection[key]);
}
}
}

在我检查 underscore.js 之后,显然扩展函数有两个参数...但我不确定如何重写该函数以便它可以工作?

function extend(newProperty) {
each(arguments,function(source) {
each(source,function(value,key) {
newProperty[key]=value;
})
})
return newProperty;
}

var iceCream = {flavor: "chocolate"};
extend(iceCream,{sprinkles: "lots"});
//==> { flavor: 'chocolate', undefined: 'chocolate' }

最佳答案

您的each 函数只提供集合的元素,它还应该提供键。试试这个。

function each(collection,iterator) {
if (Array.isArray(collection)) {
for (var i=0; i < collection.length; i++) {
iterator(collection[i], i);
}
} else {
for (var key in collection) {
iterator(collection[key], key);
}
}
}

关于javascript - 为什么我的扩展功能不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34209325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com