Skip to content

Commit 449fb55

Browse files
committed
Merge pull request #6 from sanex3339/master
Added ability to remove array value
2 parents b10a72f + cc65f6f commit 449fb55

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ var notOldQuery = $.query.toString();
4242
> "?action=view&section=info&id=123&type=string"
4343
var oldQueryAgain = $.query.REMOVE("type");
4444
> ?action=view&section=info&id=123
45+
var removeElementByValue = $.query.REMOVE('section', 'info');
46+
> ?action=view&id=123
47+
var newerQuery2 = $.query.set('testy[]', 'true').set('testy[]', 'false').set('testy[]', 'true');
48+
> ?action=view&id=123&testy[0]=true&testy[1]=false&testy[2]=true
49+
var removeElementByValue1 = $.query.REMOVE('testy', 'false');
50+
> ?action=view&id=123&testy[0]=true&testy[1]=true
4551
var emptyQuery = $.query.empty();
4652
> ""
4753
var stillTheSame = $.query.copy();

jquery.query-object.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,25 @@ new function(settings) {
138138
set: function(key, val) {
139139
return this.copy().SET(key, val);
140140
},
141-
REMOVE: function(key) {
141+
REMOVE: function(key, val) {
142+
if (val) {
143+
var target = this.GET(key);
144+
if (is(target, Array)) {
145+
var index = $.inArray(val, target);
146+
if (index >= 0) {
147+
key = target.splice(index, 1);
148+
key = key[index];
149+
} else {
150+
return;
151+
}
152+
} else if (val != target) {
153+
return;
154+
}
155+
}
142156
return this.SET(key, null).COMPACT();
143157
},
144-
remove: function(key) {
145-
return this.copy().REMOVE(key);
158+
remove: function(key, val) {
159+
return this.copy().REMOVE(key, val);
146160
},
147161
EMPTY: function() {
148162
var self = this;

0 commit comments

Comments
 (0)