哈希算法的精简运用
Hash算法,简称散列算法,也可英译为哈希算法。可用于将一个大文件映射成一个小串字符串。与指纹一样,就是以较短的信息来保证文件的唯一性标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。
简单点说,hash就是将任意长度的消息压缩成某一固定长度的消息摘要的函数。
可能仅仅看文字是很难理解,下面一段代码可能会让你更能进一步了解到它的用处。
const array = [
{
time: '2018-11-14',
text: '123'
},
{
time: '2018-11-13',
text: '321'
},
{
time: '2018-11-28',
text: '233'
},
{
time: '2018-11-13',
text: '322'
}
]; //假设有这么一段对象数组格式
let data = {};
array.forEach( function(item, index) {
if (!data[item.time]) {
data[item.time] = [item.text]
} else {
data[item.time].push(item.text)
}
})
console.log(data);
以time作为key值对数组里的每一个对象进行遍历,当key值为相等时,则把text值push到该key值所对应的数组,最后可以输入以下的结果:
{
'2018-11-13': ['321', '322'],
'2018-11-14': ['123'],
'2018-11-28': ['233']
}
当然,这样的效果还可以应用到一些简单的项目案例中,比如说朋友圈的个人主页布局,将相同日期的动态push到一个数组里面,再进行渲染,非常省事。