分类目录归档:日志

Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()

filter()

语法:

参数说明:

callback: 要对每个数组元素执行的回调函数。
thisObject : 在执行回调函数时定义的this对象。

//过滤掉小于 10 的数组元素:

//代码:
function isBigEnough(element, index, array) {
    return (element >= 10);
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// 12, 130, 44
//结果:[12, 5, 8, 130, 44].filter(isBigEnough) : 12, 130, 44 

功能说明:

对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。

回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。

如参数** thisObject** 被传递进来,它将被当做回调函数(callback)内部的 this 对象,如果没有传递或者为null,那么将会使用全局对象。

filter 不会改变原有数组,记住:只有在回调函数执行前传入的数组元素才有效,在回调函数开始执行后才添加的元素将被忽略,而在回调函数开始执行到最后一个元素这一期间,数组元素被删除或者被更改的,将以回调函数访问到该元素的时间为准,被删除的元素将被忽略。

继续阅读

ubuntu中创建程序为自启动

#!/bin/bash
### BEGIN INIT INFO
# Provides:          appname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: appinfo
# Description:       appinfo
### END INIT INFO

bin="/home/user/app"

start(){
  ps -ef | grep $bin | grep -v grep > /dev/null
  if [ $? -eq 0 ]; then
    echo "The Service has started."
  else
    echo -n "Starting..."
    $bin 1>/dev/null 2>/dev/null &
    echo "Done!"
  fi
}

stop(){
  ps -ef | grep $bin | grep -v grep > /dev/null
  if [ $? -eq 0 ]; then
    echo -n "Stoping..."
    killall $bin
    echo "Done!"
  else
    echo "The service did not start."
  fi
}

case $1 in
start)
  start
;;
stop)
  stop
;;
status)
  ps -ef | grep $bin | grep -v grep > /dev/null
  if [ $? -eq 0 ]; then
    echo "The service is running."
  else
    echo "The service is not running."
  fi
;;
*)
  echo "Usage: $0 {start|stop|status}"
;;
esac

脚本放在 /etc/init.d/ 目录下,添加 执行 权限。

# 添加到服务
sudo systemctl enable app  # app 是服务文件名
# 启动服务
sudo service app start

继续阅读

ubuntu 安装 gnome3

安装之前先添加库并更新,已保证后面的安装顺利。

建议在服务器版安装。utility版可以不安装gdm。

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo add-apt-repository ppa:gnome3-team/gnome3-staging
sudo apt-get update
sudo apt-get dist-upgrade -y
sudo apt-get install gdm gnome-shell gnome-shell-extensions gnome-tweak-tool ubuntu-gnome-desktop

继续阅读

安装WIN7 时不建立新用户直接启用Administrator

Win7安装完的时候,都要默认创建一个账户,无法直接使用Administrator账户,想使用Administrator账户的话:一切按照正常方法安装系统,等到提示新建用户时,按下Shift+F10,即可启动cmd窗口。

1、输入 net user administrator /active:yes,或者输入 compmgmt.msc 回车,启动计算机管理,去掉administrator账户已禁用的配置。

2、输入 wmic process where name="msoobe.exe" call terminate,或者输入 taskmgr,启动任务管理器,结束 msoobe.exe 任务。

接着便是黑屏,一会就出现欢迎界面啦。

C# 连接数据库MySql并执行查询命令

首先,下载MySql.Data.dll,并将它放在你的工程目录下的Dubug下。

其次,右键点击你的项目名字,选择“添加引用”,将MySql.Data.dll添加到项目中。

最后,在代码页中输入using MySql.Data.MySqlClient;,然后就可以使用这个类库来建立连接了。

建立连接代码:

MySqlConnection sqlCon = new MySqlConnection("Database=数据库名字;Data Source=服务器的ip地址;User Id=用户名;Password=用户密码");

继续阅读

怎么解决linux解压zip出现的乱码

在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。
虽然2005年就有人把这报告为bug,但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。

有2种方式解决问题:

1、 通过unzip行命令解压,指定字符集

unzip -O CP936 xxx.zip //用GBK, GB18030也可以

有趣的是unzip的manual中并无这个选项的说明, unzip –help对这个参数有一行简单的说明。

2、 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件
/etc/environment 中加入2行

UNZIP="-O CP936"
ZIPINFO="-O CP936"

或者使用 unar ,例如:

unar xxx.zip