node

js获取节点 dom操作

十年热恋 提交于 2020-03-23 09:35:57
先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS获取ID为test的元素下的子元素。可以用: 比如: <div id="dom"> <div></div> <div></div> <div></div> </div> var a = docuemnt.getElementById("dom").getElementsByTagName_r("div"); 这样是没有问题的 此时a.length=3; 但是我们现在换一种方法获取就是我上章提到的var b = document.getElementByIdx_x("dom").childNodes;如果 这样alert(b.length)IE浏览器上没问题还是3,但是在FF浏览器上会提示是4,这就是因为FF把换行也当做一个元素了。 所以我们必须处理一下才能用JS的那些属性。处理思想很简单就是遍历一下这些元素。把元素类型为空格而且是文本都删除。处理函数是这样的 function del_space(elem){ var elem_child = elem.childNodes;//得到参数元素的所有子元素 for(var i=0;i<elem_child.length;i++){ /

node中间层转发请求

会有一股神秘感。 提交于 2020-03-23 01:21:32
前台页面: $.get("/api/hello?name=leyi",function(rps){ console.info(rps); }); node中间层(比如匹配api开头的所有请求): var express = require('express'); var qs = require("qs") var http = require("http"); var querystring = require('querystring'); app.all(/\/api/, function(req, res) { let strData = qs.stringify(req.body); //请求体中的数据(比如post提交的数据) let options = { host: 'localhost', //后台请求地址 port: 8081, path: req.url.substr(4), method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': strData.length } }; options.headers = Object.assign(options.headers, req.headers); //带上客户端请求头

leetcode 237 Delete Node in a Linked List

对着背影说爱祢 提交于 2020-03-22 22:16:46
题目链接 : https://leetcode.com/problems/delete-node-in-a-linked-list/ 思路分析 :题目要求在链表中删除给定的node,该node不为链表中的tail。因为没有node的前一个结点,所以想要直接从linked list中直接删除结点node是不可能的。 根据题目信息,可以通过将node.next结点的值赋给node,并删除node.next结点,则效果与直接删除node结点相同。 代码如下: # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def deleteNode(self, node): """ :type node: ListNode :rtype: void Do not return anything, modify node in-place instead. """ node.val = node.next.val node.next = node.next.next 来源: https://www.cnblogs.com/tallisHe/p/5313367

5-237. Delete Node in a Linked List

那年仲夏 提交于 2020-03-22 22:16:05
题目描述: Write a function to delete a node (except the tail) in a singly linked list, given only access to that node. Given linked list -- head = [4,5,1,9], which looks like following: Example 1: Input: head = [4,5,1,9], node = 5 Output: [4,1,9] Explanation: You are given the second node with value 5, the linked list should become 4 -> 1 -> 9 after calling your function. Example 2: Input: head = [4,5,1,9], node = 1 Output: [4,5,9] Explanation: You are given the third node with value 1, the linked list should become 4 -> 5 -> 9 after calling your function. Note: The linked list will have at least

leetcode-easy-listnode-237 Delete Node in a Linked List

橙三吉。 提交于 2020-03-22 22:15:43
mycode # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def deleteNode(self, node): """ :type node: ListNode :rtype: void Do not return anything, modify node in-place instead. """ node.val = node.next.val node.next = node.next.next 来源: https://www.cnblogs.com/rosyYY/p/10997133.html

HashMap中 get(K key) 和 put(K key,V value) 的具体过程

…衆ロ難τιáo~ 提交于 2020-03-22 18:08:21
说在前面 本文包含手写泛型HashMap<K,V>为简化版,仅为理解 HashMap 的 get() 和put() 方法的工作过程,非Java源码。 get(K key) 原理 先计算出key对应的hash值 int hash = key.hashCode(); //此处的 hashCode() 方法为 Object对象 所属方法,默认都有 //自定义的类需要覆写该方法 对超出数组范围的hash值进行处理 hash = (hash >>> 16)^hash;//java内部自做的优化,为了使hash值更加均衡,减少冲突 int index = hash & (table.length - 1);//对下标进行合理化,以免下标越界 //这样做可以使index在数组长度范围内的原因或者一个前提是,这里的数组的长度一定是2的n次方, //这样table.length - 1 在二进制情况下,除最高位,其余低位为一定是1,用hash与这样的一个数进行与操作 //即只保留了hash的二进制的低位,就会使hash的范围一定小于数组长度 根据正确的hash值(下标值)找到所在的链表的头结点 Entry<K,V> node = table[index]; 遍历链表,如果key值相等,返回对应的value值,否则返回null while(node != null){ if(node.key

Node开发--->7_服务器端开发

丶灬走出姿态 提交于 2020-03-22 17:10:22
4 HTTP请求与相应处理 4.1 请求参数 用户名和密码需要通过某种形式(请求参数)传递到服务器端,服务器端要获取内容,用于后面的验证。 请求参数分为get请求参数和post请求参数 4.2 get请求参数 5 Node.js的工作原理 来源: https://www.cnblogs.com/deer-cen/p/12546799.html

删除链表里全部重复元素以及删除链表重复元素只保留一个

99封情书 提交于 2020-03-22 17:07:28
public class ListNodeDemo01 {/** * 删除链表中全部重复元素 * @param node 传入链表头 * @return 返回头节点指针 */ public static Node delDup(Node node) { //生成一个头节点 Node first = new Node(-1); Node cur = node; first.next = node; //找个头节点的代理节点 Node proxy = first; if(node == null) { return null; } while(cur != null && cur.next != null) { if(cur != null && cur.data == cur.next.data) { //后面可能还有2 //2,2,2,3 int val = cur.data; while(cur != null && cur.data == val) { //这里一直找到那个新的cur->3 cur = cur.next; } //直到找到3,把前面的去掉,改变链,proxy的后面就是3 proxy.next = cur; }else { //假如都不一样,那么第一个就是proxy了,链还是原来的链,proxy慢慢往后推 //1,2,3 proxy = cur; /

空间索引 - 四叉树

 ̄綄美尐妖づ 提交于 2020-03-22 11:39:10
/*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 前言 作为程序员,应该都对二叉树都不陌生,我们都知道二叉树的变体二叉查找树,非常适合用来进行对一维数列的存储和查找,可以达到 O(logn) 的效率;我们在用二叉查找树进行插入数据时,根据一个数据的值和树结点值的对比,选择二叉树的两个叉之一向下,直到叶子结点,查找时使用二分法也可以迅速找到需要的数据。 但二叉树只支持一维数据,如一个标量数值,对地图上的位置点这种有xy两个方向上的信息却无能为力,那么是否有一种树能够支持二维数据的快速查询呢? 四叉树 介绍 四元树又称四叉树是一种树状数据结构,在每一个节点上会有四个子区块。四元树常应用于二维空间数据的分析与分类。它将数据区分成为四个象限。 今天要介绍的四叉树可以认为是二叉查找树的高维变体,它适合对有二维属性的数据进行存储和查询,当然四叉树存储的也不一定是二维数据,而是有着二维属性的数据,如有着 x,y 信息的点,用它还可以用来存储线和面数据。它有四个 叉 ,在数据插入时,我们通过其二维属性(一般是 x,y)选择四个叉之一继续向下,直至叶子结点,同样使用“四分法”来迅速查找数据。四叉树的一般图形结构如下: 聪明的小伙伴一定想到了适合存储和查询三维数据的八叉树,它们原理是一致的,不过我们暂不讨论。 分类 四叉树常见的应用有图像处理

四叉树空间索引原理及其实现

自古美人都是妖i 提交于 2020-03-22 11:37:40
转自原文 四叉树空间索引原理及其实现 四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是GIS中常用的空间索引之一。常规四叉树的结构如图所示,地理空间对象都存储在叶子节点上,中间节点以及根节点不存储地理空间对象。 四叉树示意图 四叉树对于区域查询,效率比较高。但如果空间对象分布不均匀,随着地理空间对象的不断插入,四叉树的层次会不断地加深,将形成一棵严重不平衡的四叉树,那么每次查询的深度将大大的增多,从而导致查询效率的急剧下降。 本节将介绍一种改进的四叉树索引结构。四叉树结构是自顶向下逐步划分的一种树状的层次结构。传统的四叉树索引存在着以下几个缺点: (1)空间实体只能存储在叶子节点中,中间节点以及根节点不能存储空间实体信息,随着空间对象的不断插入,最终会导致四叉树树的层次比较深,在进行空间数据窗口查询的时候效率会比较低下。 (2)同一个地理实体在四叉树的分裂过程中极有可能存储在多个节点中,这样就导致了索引存储空间的浪费。 (3)由于地理空间对象可能分布不均衡,这样会导致常规四叉树生成一棵极为不平衡的树,这样也会造成树结构的不平衡以及存储空间的浪费。 相应的改进方法