1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| define(['./isNumber', './isArray', './isObject'], function (isNumber, isArray, isObject) {
|
| function set (obj, path, value) {
| var key = String(path[0]);
|
| if (path.length === 1) {
| obj[key] = value;
| return;
| }
|
| if (!isArray(obj[key]) || !isObject(obj[key])) {
| var nextKey = path[1];
| obj[key] = isNumber(nextKey) ? [] : {};
| }
|
| return set(obj[key], path.slice(1), value);
| }
|
| return set;
|
| });
|
|