1.回顾数组的高阶方法
单词 | 方法 |
---|---|
forEach | 遍历 |
filter | 过滤 |
map | 映射 |
reduce | 累计 |
every | 每一个 |
some | 有一个 |
find | 查找符合条件的元素 |
findindex | 查到符合条件的下标 |
sort | 排序 |
2.数组的去重
1.filter通过索引与下标去重
arr.filter((item,index)=>arr.indexof(item)==index)
arr.filter(function(item,index){
// 如果indexOf的下标等于遍历的下标
if(arr.indexOf(item) === index){
return true;
}else{
return false;
}
})
2.set去重
var arr1 = [...new Set(arr)]
var arr1 = Array.from(new set(arr))
3.判断js数据类型
- typeof 对值类型有用引用类型除function函数其他都返回true
- instanof 是某个函数的实例在原型链查找到该对象的都返回true
- constructor 构造函数
- object.prototype.toString.call(对象).slice(8,-1)
4.mysql在node.js使用
- 安装node.jsnpm i mysql -s
- 导入 var mysql = require(‘mysql’)
- 创建连接
var con = mysql.createConnect({
host:'localhost',
user:'root',
password:'123456',
database:'feedback'
})
- 连接
con.connect(function(err){
if(!err){console.log('数据库连接成功')}
})
- 执行sql
var sql = `select * from user where 1`;
con.query(sql,function(err,result){})
// err 错误信息
// result 执行结果1
- 断开sql
con.end(function(err){
if(!err){console.log('断开成功')}
})
5.express前后端不分离
- 安装模板npm i ejs -s
- 设置模板
app.set('views','./views')
app.set('viwe engin','ejs');//使用ejs引擎
2.定义模板
/views/user.ejs
3.定义路由
app.get('user',function(req,res){
res.render('user',{title:"",list:[]})
//渲染/view/user.ejs模板,并传入数据{title:"",list:[]}
})
4.ejs模板语法
<%= $>渲染的数据
<% %>执行的js
<p><%= title %></p>
将会把标题渲染到p标签里面
list.forEach(item=>{
<li></li>
})
<% list.forEach(item=>{%>
<li><%= item %></li>
<%});%>
6.express前后端分离
1.get
app.get('/list',function(req,res){
res.json({})//发送给客户端
})
2.post
//1.使用中间件
app.use(express.json());
//2. 处理post请求地址是/adduser
app.post('/adduser',function(req,res){
//req.body 客户端发送给后端的数据body
req.json({})//发送数据给客户端
})