var

《剑指offer》— JavaScript(19)顺时针打印矩阵

断了今生、忘了曾经 提交于 2020-03-31 05:00:17
顺时针打印矩阵 题目描述   输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 思路 选坐标为(0,0),(1,1)...的点记为(start,start),作为开始坐标,下一圈开始坐标为(start+1,start+1); 判断是否进入下一圈(即是否打印完成)的条件是rows>start*2 && cols>start*2; 打印一圈的左上角坐标为(start,start),右下角的坐标为(cols-start-1,rows-start-1) 根据一圈左上角和右下角坐标判断“从左到右”,“从上到下”,“从右到左”,“从下到上”需要打印的点。 实现代码 function printMatrix(matrix) { if (matrix == null || matrix.length == 0) { return; } var rows = matrix.length; var cols = matrix[0].length; var start = 0; var result = []; while (cols > start * 2 && rows > start *

尝试用kotlin做一个app(十七)

五迷三道 提交于 2020-03-31 04:45:32
帖子详情页 客户端请求url,服务器返回数据。主要是怎么把帖子内容中的图片显示出来 我之前把内容中的图片存储为base64编码 var startMark="<img src='data:image/jpeg;base64," var endMark="'/>" if(!content.contains(startMark)) { post_content.text=content }else{ var preStart=0 var start=0 var spanString:SpannableStringBuilder= SpannableStringBuilder() var res="" spanString?.append(content) while(true){ start=content.indexOf(startMark,preStart) var end=content.indexOf(endMark,start) // println(content) if(start!=-1&&end!=-1){ var imgStart=start+startMark.length var base64Url=content.substring(imgStart,end) //println(base64Url) var byteData= Base64.decode

JQuery插件,傻傻分不清!

烈酒焚心 提交于 2020-03-31 04:05:23
不多说,直接上代码! 第一种 extend <!-- extend 扩展jQuery,其实就是增加一个静态方法 --> $.extend({ sayHello:function(name) { alert('Hello, '+(name?name:'XXXX')+' !') } }); $(function(){ $.sayHello(); $.sayHello('Zhangsan'); }); 第二种 $.fn <!-- $.fn 给JQuery对象,增加方法 --> $.fn.Red=function(){ this.each(function(){ $(this).append(' '+$(this).attr('href')); }); return this.css('color','red'); } $(function(){ $("a").Red().css('color','gray'); }); 第三种:综合利用 <!-- 综合利用 --> $.fn.MyDesign=function(options){ var defaults={ 'color':'red', 'fontSize':'12pt' } var settings=$.extend({},defaults,options) this.each(function(){ $(this).append('

ali lxcfs daemonset方式运行

試著忘記壹切 提交于 2020-03-31 03:32:02
刚开始按照相关文档将apiserver ,kubelet节点的特权模式开启--allow-privileged=true,再以ali的文档执行,完全无法运行。参考github里的issue得知,其实都是在问题为啥运行不起来的,但回复不详,其中也确实提到需要在宿主机上支持fuse。 开始自行排错:无法搜索到相关资料,下载源码,编译排查 git clone https://github.com/denverdino/lxcfs-initializer.git 从Dockfile里也可知,里面的库等文件并不能适合自身的版本需要,目前只是需要让他运行起来,然后再里面执行start.sh的脚本内容,查看具体出错是在哪? 据自己环境变更lxcfs-image/Dockerfile 内容如下 FROM daocloud.io/centos:7.3.1611 RUN yum -y install fuse fuse-devel pam-devel wget install gcc automake autoconf libtool make ENV LXCFS_VERSION 2.0.8 RUN wget https://linuxcontainers.org/downloads/lxcfs/lxcfs-$LXCFS_VERSION.tar.gz && \ mkdir /lxcfs && tar

原生js封装ajax:传json,str,excel文件上传表单提交

ぐ巨炮叔叔 提交于 2020-03-30 20:53:32
由于项目中需要在提交ajax前设置header信息,jquery的ajax实现不了,我们自己封装几个常用的ajax方法。 jQuery的ajax普通封装 var ajaxFn = function(uri, data, cb) { $.ajax({ url: uri, type: 'POST', dataType: 'json', data: data, }) .done(cb) .fail(function() { console.log("error"); }) .always(function() { console.log("complete"); }); } 原生ajax封装,设置header,传json 1 var ajaxHdFn = function(uri, data, cb) { 2 var getXmlHttpRequest = function() { 3 if (window.XMLHttpRequest) { 4 //主流浏览器提供了XMLHttpRequest对象 5 return new XMLHttpRequest(); 6 } else if (window.ActiveXObject) { 7 //低版本的IE浏览器没有提供XMLHttpRequest对象 8 //所以必须使用IE浏览器的特定实现ActiveXObject 9 return

canvas 简易时钟

こ雲淡風輕ζ 提交于 2020-03-30 15:26:44
canvas 简易版时钟 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>时钟</title> <style> *{ margin:0; padding:0; } body{ background:#fff; } canvas{ background:#fff; display:block; margin:100px auto; } </style> </head> <body> <canvas id="mycanvas" width='500' height='500'> </canvas> <script> var can=document.getElementById("mycanvas"); var cxt=can.getContext('2d'); function clock(){ //清除画布,每次执行重新绘图,解决时钟模糊,边框有锯齿。 cxt.clearRect(0,0,can

elementUI树形控件实现隔行变色

試著忘記壹切 提交于 2020-03-30 14:49:14
elementUI树形控件实现隔行变色?别想了,elementUI没有这个属性。 只能通过原生js写了。 找到 el-tree-node__content 这个类进行dom操作 定义一个方法在updated里调用,一定要在updated里,其他生命周期是不行的。 // 隔行变色 changeColor() { var content = document.getElementsByClassName('el-tree-node__content'); for (var i = 0; i < content.length; i++) { if (i % 2 === 0) { content[i].style.background = '#ebeef5'; } else { content[i].style.background = ''; } } } updated() { this.changeColor(); }, 然后就可以了 来源: https://www.cnblogs.com/luguankun/p/12598502.html

前端干货之JS最佳实践

岁酱吖の 提交于 2020-03-30 10:22:54
持续更新地址 https://wdd.js.org/js-best-pr... 1. 风格 一千个读者有一千个哈姆雷特 ,每个人都有自己的code style。我也曾为了要不要加分号给同事闹个脸红脖子粗,实际上有必要吗? 其实JavaScript已经有了比较流行的几个风格 JavaScript Standard Style Google JavaScript Style Guide Airbnb JavaScript Style Guide 我自己使用的是 JavaScript Standard Style , 我之所以使用这个,是因为它有一些工具。可以让你写完代码后,一旦保存,就自动帮你把你的风格的代码修正成标准分割,而不是死记硬背应该怎么写。看完这个页面,你就应该立马爱上 JavaScript Standard Style , 如果你用vscode, 恰好你有写vue, 你想在.vue文件中使用standard风格,那么你需要看看 这篇文章 2. 可维护性 很多时候,我们不是从零开始,开发新代码。而是去维护别人的代码,以他人的工作成果为基础。确保自己的代码可维护,是赠人玫瑰,手留余香的好事。一方面让别人看的舒服,另一方面也防止自己长时间没看过自己的代码,自己都难以理解。 2.1. 什么是可维护代码 可维护的代码的一些特征 可理解 易于理解代码的用途 可适应 数据的变化

jS放大镜效果

久未见 提交于 2020-03-30 08:28:36
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="demo4.aspx.cs" Inherits="test.demo4" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>放大镜</title> <meta name="keywords" content="" /> <meta name="Description" content="" /> <style type="text/css"> body,div,img {padding:0;margin:0;} .con {width:256px;height:192px;float:left;} .con img {width:256px;height:192px;position:absolute;border:1px

node.js cmd常用命令

半腔热情 提交于 2020-03-30 05:07:33
cmd 1.c: 如果我们想访问c盘,那么我们需要在命令行中输入c:就行了 2.cd.. cd..就可以返回上层目录 3.cd mm cd mm即可访问mm文件夹 4.dir 如果想查看该文件夹下有哪些文件,则可以在光标处输入 "dir" 命令 5.连续按两次Ctrl+C或者输入“.exit” 在cmd中: 1、输入node回车即可进入Node.js运行环境。 2、退出只需要连续按两次Ctrl+C或者输入“.exit”回车即可。 6.创建文件夹我们可以使用 md <folderName>或mkdir <folderName>命令来创建, 其中md和mkdir都是建立新目录make directory的意思, 完整命令是md [盘符:\][路径\]新目录名,比如:md c:\test\myfolder 7.删除文件夹呢,使用rd或rmdir命令,完整命令rd /s /q [盘符:\][路径\]新目录名, 因为rd只能删除空的文件夹, 而如果其中有子文件或子文件夹的时候就会停下来,这时我们加上/s就可以直接删除, 但是删除过程中会提示你是否确定删除, 对于懒癌患者我们有添加了/q,即quiet,安静模式; 所以使用以上命令会完整删除你选中的整个文件夹。 8.首先是创建空文件,命令type nul>*.*; type nul>myfile.txt type nul>.test