我可以用Javascript向数组添加函数吗
Can I add a function to an array in Javascript?
有人建议我使用以下代码:
var activityArray = [];
activityArray.push("Loading content 1");
activityArray.push("Loading content 2");
activityArray.push("Loading content 3");
activityArray.push("Loading content 4");
//find the item we want to delete
var index = activityArray.indexOf('Loading content 4');// returns 3
activityArray.splice(index,1)//remove the item at index 3
我有很多地方想向数组中添加元素,所以"activityArray.push
"似乎是一种非常简单的方法。
我还有很多地方想从数组中删除元素。有没有一种方法可以让我用代码删除项目,并将其作为函数添加到activityArray中,这样我就可以说:
activityArray.pull("Loading content 4");
是的,Javascript的原型继承系统使将新功能移植到现有对象上变得非常容易。
与您的代码一样,此版本将返回已删除元素的第一个实例,如果数组中不存在该元素,则返回undefined
。
Array.prototype.pull = function(element) {
var index = this.indexOf(element);
var removed = undefined;
if(index >= 0)
removed = this.splice(index,1);
return removed;
}
如果您只想将该方法添加到单个数组中,
myArray = [1,2,3,4,5,6];
myArray.pull = function(element) {
var index = this.indexOf(element);
var removed = undefined;
if(index >= 0)
removed = this.splice(index,1);
return removed;
}
myArray.pull(3) // -> [1,2,4,5,6]
[3,2,1].pull(2) // -> exception
您可以为实例特定的方法向数组原型添加方法。
Array.prototype.pull = function(content) {
var index = this.indexOf(content);
this.splice(index, 1);
};
var activityArray = [];
activityArray.push("Loading content 1");
activityArray.push("Loading content 2");
activityArray.push("Loading content 3");
activityArray.push("Loading content 4");
activityArray.pull("Loading content 4");
>> ["Loading content 1", "Loading content 2", "Loading content 3"]
如果可以跳过使用简单的Array
,请尝试named array
''object
语法:
var activityArray = {};
activityArray["Loading content 1"] = "Loading content 1";
activityArray["Loading content 2"] = "Loading content 2";
activityArray["Loading content 3"] = "Loading content 3";
activityArray["Loading content 4"] = "Loading content 4";
// To remove simply use the `delete` keyword
delete activityArray["Loading content 4"];
相关文章:
- 如何添加函数中存在的所有参数
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- 使用元素选择器向Object添加函数
- Javascript 向影子根中的自定义元素添加函数
- 如何在jQuery中添加函数作为自定义事件
- 仅向某个对象添加函数
- jQuery插件返回this.each并为每个对象添加函数属性
- 我可以用Javascript向数组添加函数吗
- HTMLJavascript-如何向输入语句添加函数并隐藏输入语句,除非选中“是”,然后取消隐藏
- jquery在html属性中添加函数回调,以便在其他事件中调用
- 如何向对象添加函数并引用其成员
- 动态添加函数参数
- PHP 添加函数
- 向原型添加函数
- Java 在不使用引号的情况下向 json 对象添加函数
- jQuery向动画队列添加函数
- 向对象原型添加函数的正确方法
- 在 Typescript 中添加函数之前,如何将变量声明为空对象
- 向对象原型添加函数会导致函数显示在所有“OBJ 中的 X”循环中
- 删除并重新添加函数 JavaScript