[英]Can't seem to understand this javascript code! if(!this.class)
[英]I can't seem to understand the meaning of this one line of code (JavaScript)
我讀了一堆教程和帖子,但是我變得越來越困惑。 用Laymen的術語(極其簡單和明確的術語),下面的代碼做什么? 什么是replace(/ / g,'-')? 什么是req.params.item?
return todo.item.replace(/ /g, '-') !== req.params.item;
對於更多上下文,整個代碼如下所示。
var bodyParser = require('body-parser');
var data = [{item: 'get milk'}, {item: 'walk dog'}, {item: 'kick
some coding ass'}];
var urlencodedParser = bodyParser.urlencoded({extended: false});
module.exports = function(app) {
app.get('/todo', function(req, res){
res.render('todo', {todos: data});
});
app.post('/todo', urlencodedParser, function(req, res){
data.push(req.body);
res.json(data);
});
app.delete('/todo/:item', function(req, res){
data = data.filter(function(todo){
return todo.item.replace(/ /g, '-') !== req.params.item;
});
res.json(data);
});
};
它將todo.item
字符串中的所有空格都變為破折號,將替換后的字符串與req.params.item
進行比較,如果不同則返回true
。 例如,如果todo.item
是foo bar
,而req.params.item
是foo-bar
,它將返回false
。
過濾器的作用
data = data.filter(function(todo){
return todo.item.replace(/ /g, '-') !== req.params.item;
});
是將data
轉換為僅包含未通過該測試的項目的數組。
let data = [ { item: 'foo bar' }, { item: 'bar baz' }, { item: 'baz buzz' }, ]; const req = { params: { item: 'bar-baz' }}; data = data.filter(function(todo){ return todo.item.replace(/ /g, '-') !== req.params.item; }); console.log(data);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.