mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-11 03:17:49 +00:00
Ensure baseGet and result work with strings on nested objects.
This commit is contained in:
@@ -2305,7 +2305,7 @@
|
|||||||
length = path.length;
|
length = path.length;
|
||||||
|
|
||||||
while (object != null && ++index < length) {
|
while (object != null && ++index < length) {
|
||||||
var result = object = object[path[index]];
|
var result = object = toObject(object)[path[index]];
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -10021,7 +10021,7 @@
|
|||||||
if (object != null && !isKey(path, object)) {
|
if (object != null && !isKey(path, object)) {
|
||||||
path = toPath(path);
|
path = toPath(path);
|
||||||
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
|
||||||
result = object == null ? undefined : object[last(path)];
|
result = object == null ? undefined : toObject(object)[last(path)];
|
||||||
}
|
}
|
||||||
result = result === undefined ? defaultValue : result;
|
result = result === undefined ? defaultValue : result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13159,12 +13159,18 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('`_.' + methodName + '` should get characters of string indexes (test in IE < 9)', 4, function() {
|
test('`_.' + methodName + '` should get characters of string indexes (test in IE < 9)', 8, function() {
|
||||||
_.each([1, [1]], function(path) {
|
_.each([1, [1]], function(path) {
|
||||||
_.each(['xo', Object('xo')], function(string) {
|
_.each(['xo', Object('xo')], function(string) {
|
||||||
strictEqual(func(string, path), 'o');
|
strictEqual(func(string, path), 'o');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
_.each([{ 'a': 'xo' }, { 'a': Object('xo') }], function(object) {
|
||||||
|
_.each(['a[1]', ['a', '1']], function(path) {
|
||||||
|
strictEqual(func(object, path), 'o');
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('`_.' + methodName + '` should get a key over a path', 2, function() {
|
test('`_.' + methodName + '` should get a key over a path', 2, function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user