Last active
January 26, 2017 09:14
-
-
Save dagolinuxoid/d23fbed6a05f9dc0794fd03df708c9d6 to your computer and use it in GitHub Desktop.
#JSON #KANTOR #answer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Автор всё верно написал, но у Вас возникла объяснимая двусмысленность, сейчас поясню: | |
// Реализация слов автора | |
var str = '{"title":"Конференция","date":"2014-11-30T12:00:00.000Z"}'; | |
var event = JSON.parse(str, function(key, value) { | |
if (key == 'date') return undefined; // Относится к этому месту кода; соответствующая пара key/value будет пропущена/удалена | |
return value; | |
}); | |
// Ваша ошибочная интерпретация | |
var str = '{"title":"Конференция","date":"2014-11-30T12:00:00.000Z"}'; | |
var event = JSON.parse(str, function(key, value) { | |
if (key == 'date') return 'something'; | |
return undefined; // то, как Вы поняли формулировку | |
}); | |
// PS. Если интересно, как именно работает реализация callback функции для метода JSON.parse, | |
// то взгляните на пример ниже - она схожа с работой для .map метода | |
var arr = ['a','b']; | |
var mapArr = arr.map(value => value.toLocaleUpperCase()); | |
var jsonArr = JSON.stringify(arr); | |
jsonArr = JSON.parse(jsonArr,function(key,value){ | |
if (typeof value === 'string') { | |
return value.toUpperCase(); | |
} | |
return value; | |
}); | |
jsonArr //["A", "B"] | |
mapArr //["A", "B"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment