小知识点
[1,2,3].reduce((a, b) => {a+b})
// undefined
[1,2,3].reduce((a, b) => a+b)
// 6
[1,2,3].reduce((a, b) => {return a+b})
// 6
对象深克隆
function clone(obj) {
var copy = {}
for (var attr in obj) {
if(obj.hasOwnProperty(attr)) {
copy[attr] = typeof(obj[attr]) === 'object' ? clone(obj[attr]) : obj[attr]
}
}
return copy
}
js实现分页
/**
* @msg: 分页函数
* @param {json} data 分页渲染的数据
* @param {Number} currentPage 当前页
* @param {Number} pageSize 分页每页大小
* @return: {html} 返回分页好的html数据
*/
function paging(data, currentPage = 0, pageSize = 5) {
var totalPage = Math.ceil(totalRow / pageSize) || 0
// 分页开始遍历位置
var startPage = currentPage * pageSize
// 单页结束位置
var endPage = (currentPage + 1) * pageSize
html += '<div class="page-' + currentPage + '">'
for (var i = startPage; i < endPage; i++) {
// 在此渲染分页内容
}
return html
}
数组去重,es特性
let arr = [1, 2,, 3, 3, 5]
arr = [...new Set(arr)]
获取input标签选择的值,可用于提交数据和判断是否必填
var checkedList = [];
$("input[name=radio]:checked").each(function() {
checkedList.push($(this).val());
});
jq事件委托,给动态添加的dom添加事件
$(document).on('click', 'dynamicDom', function() {
// 事件内容
})
js数组 filter() map() some() every() forEach() lastIndexOf() indexOf()
2018-12-17更新
jq 表单提交 serialize 方法获取不到checkbox和radio的值?
发现checkbox、radio非选择状态不传递value值,选中是值才会提交
解决方法1
function checkFrom() {
$('input[type=radio],input[type=checkbox]').each(function() {
if(!$(this).is(':checked')) {
$(this).prop('checked', 'checked')
$(this).val(0)
}
})
}
本文涵盖JavaScript数组操作技巧,如reduce、filter等方法的使用,深入探讨对象深克隆的实现,展示分页功能的js实现方式,以及数组去重、获取表单元素值和事件委托等实用代码片段。
2703

被折叠的 条评论
为什么被折叠?



